У меня есть общий c метод, который принимает таблицу как c общие параметры. У меня есть две таблицы, которые я хочу использовать в этом методе. Это таблицы MbsaDailyLog и MbsaDailylogWo. И это T1 и T2.
Both have identical properties. These two have detail tables
MbsaDailyLogDetail and MbsaDailyLogDetailWo.
Мне нужно вызвать общий c метод и использовать LINQ, чтобы сначала вернуть список IQueryable для MbsaDailyLog, а затем снова вызвать тот же метод для MbsaDailyLogWo. Вот почему используется общий метод. Мне сложно просто использовать их вот так. (даже с getType).
T1 a d T2 are comming in as new types (MbsaDailyLog = new
MbsaDailyLog()).
var glog = db.T1.Include(c => c.T2)
.Include(c => c.MbsaExercis)
.Where(c => c.lgWorkoutNo == workoutNo);
С LINQ мне нужно получить доступ к имени поля с именем lgMemberNo, которое находится в MbsaDailyLog, чтобы я мог включить данные в третью таблицу с именем MbsaDailyLogDetail, когда lgMemberNo == ldMemberNo. ldMemberNo находится в MbsaDailyLogDetail. Я думал, что могу сделать что-то вроде этого:
using (MbsaDataEntities db = new MbsaDataEntities())
{
var memberNo = "lgMemberNo";
var table1 = "MbsaDailyLogs";
var table2 = "MbsaDailyLogDetails";
var woNo = "workoutNo";
var glog = db.table1.Include(c => c.table2)
.Include(c => c.MbsaExercis)
.Where(c => c.woNo == workoutNo);
}
поиск по форуму, я видел варианты этого, но не могу заставить его работать, как указано выше. главное - это таблицы, я получаю сообщение:
'MbsaDataEntities' не содержит определения для 'table1' и нет доступного расширения 'table1', принимающего первый аргумент типа 'MbsaDataEntities'
'MbsaDataEntities' не может быть найден (вам не хватает директивы using или ссылки на сборку?)
Я понимаю, что table1 не является частью структуры сущностей, поэтому меня действительно интересуют передовые методы, ЕСЛИ ВЫ МОЖЕТЕ используйте строку table1.
ИЛИ это ЕДИНСТВЕННЫЙ способ, которым я могу сделать это:
foreach(string table in tableNames)
{
var query =$"select * from {table} where <some_condition>";
var list = db.ExecuteStoreQuery<Obj>(query);
}
In EF You can execute regular query
Я работаю над этим некоторое время, и мне нужен совет. Спасибо за любой совет или помощь.