Я пытаюсь использовать Linq для создания объекта, который сам содержит 2 объекта данных. Из выражения Linq я пытаюсь настроить объекты напрямую, а не иметь функцию inbetween в содержащем классе.Linq для многих объектов с использованием MVC
Содержащий класс выглядит следующим образом:
public class SupplierCategories
{
public category _category;
public category_sub _category_sub;
private bool _IsActive;
private int? _SupplierID;
public SupplierCategories()
{
}
public bool IsActive
{
get
{
return _IsActive;
}
set
{
_IsActive = value;
}
}
public int? SupplierID
{
get
{
return _SupplierID;
}
set
{
_SupplierID = value;
if (_SupplierID != null) // The county is active if there is a supplier ID matching
{
_IsActive = true;
}
}
}
}
Примечание: категория и category_sub объекты все настройки через Entity Framework.
Мое выражение ссылка имеет 2 таблицы и выглядит следующим образом:
public IEnumerable<SupplierCategories> GetAllOrdered()
{
IEnumerable<SupplierCategories> areaList;
var results = from cat in dbContext.categories
join sub in dbContext.category_sub on cat.id equals sub.categoryid
orderby cat.id ascending, sub.name ascending
select new SupplierCategories
{
_category = { new category { cat.id, cat.name } },
_category_sub = { new category_sub { sub.id, sub.categoryid, sub.name } }
};
areaList = results.ToList();
return areaList;
}
Надеюсь, вы можете увидеть, что я пытаюсь создать «_category» и «_category_sub» объекты непосредственно.
Ошибки я получаю:
Ошибка 5 Невозможно инициализировать тип 'Essential_Collections.Models.category' с коллекцией инициализаторе, потому что он не реализует 'System.Collections.IEnumerable' D : \ Сайты \ Эфирные Коллекции \ разработка \ сборка \ Эфирные Коллекции \ Models \ SupplierCategories \ SupplierCategoriesRepository.cs 51 37 Эфирные Коллекции
Любых решений или, возможно, другие подходы, будут с благодарностью приняты
большое спасибо, работает отлично. Однако, если бы я хотел создать объекты, которые непосредственно не сопоставлялись с таблицами, я мог бы сделать что-то вроде выше, определяя индивидуальные значения? – Billyhomebase
@Billyhomebase: @BFree подчеркивает, где вы ошибетесь в своих конструкторах объектов для категории и category_sub. Если у вас есть соответствующий конструктор или вы правильно идентифицируете свойства, которые вы инициализируете, вы можете создавать новые объекты для них. – Lazarus
Если это «отлично работает», я бы предложил принять его в качестве ответа. –