Я хочу получить данные из таблицы "Province_Notifiers", а также получить все соответствующие элементы из таблицы "Province_Notifier_Datas".В таблице "Province_Notifier" есть подсказка для ее идентификации (PK), в таблице "Province_Notifier_Datas" есть столбец с именем BelongsToProvinceID, который является внешним ключом для таблицы guid таблиц "Province_Notifier".
Я пробовал что-то вроде этого:
var records = from data in ctx.Province_Notifiers
where DateTime.Now >= data.SendTime && data.Sent == false
join data2 in ctx.Province_Notifier_Datas on data.Province_ID equals data2.BelongsToProvince_ID
select new Province_Notifier
{
Email = data.Email,
Province_ID = data.Province_ID,
ProvinceName = data.ProvinceName,
Sent = data.Sent,
UserName = data.UserName,
User_ID = data.User_ID,
Province_Notifier_Datas = (new List<Province_Notifier_Data>().AddRange(data2))
};
Эта строка не работает, и я пытаюсь выяснить, как заполнить данные из таблицы2 в эту переменную Province_Notifier_Datas.
Province_Notifier_Datas = (new List<Province_Notifier_Data>().AddRange(data2))
Я могу легко добавить запись, добавив вторуюСтрока таблицы в Province_Notifier_Datas, но я не могу получить ее обратно.
Province_Notifier dbNotifier = new Province_Notifier();
// set some values for dbNotifier
dbNotifier.Province_Notifier_Datas.Add(
new Province_Notifier_Data
{
BelongsToProvince_ID = userInput.Value.ProvinceId,
EventText = GenerateNotificationDetail(notifierDetail)
});
Это работает и корректно вставляет данные в обе таблицы.
Редактировать:
Эти сообщения об ошибках генерируются:
Невозможно преобразовать из 'Province_Notifier_Data' в 'System.Collections.Generic.IEnumerable'
Если я смотрю в Visual Studioпеременная "Province_Notifier_Datas" имеет тип System.Data.Linq.EntitySet
Наилучший перегруженный метод соответствует для System.Collections.Generic.List.AddRange (System.Collections.Generic.IEnumerable) 'содержит недопустимые аргументы
Редактировать :
var records = from data in ctx.Province_Notifiers
where DateTime.Now >= data.SendTime && data.Sent == false
join data2 in ctx.Province_Notifier_Datas on data.Province_ID equals data2.BelongsToProvince_ID
into data2list
select new Province_Notifier
{
Email = data.Email,
Province_ID = data.Province_ID,
ProvinceName = data.ProvinceName,
Sent = data.Sent,
UserName = data.UserName,
User_ID = data.User_ID,
Province_Notifier_Datas = new EntitySet<Province_Notifier_Data>().AddRange(data2List)
};
Ошибка 3 Имя «data2List» не имеетсуществуют в текущем контексте.