我想用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對象都是通過實體框架建立。
我的鏈接表達有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無法與集合初始化,因爲 它沒有實現 'System.Collections.IEnumerable' d初始化 型 'Essential_Collections.Models.category' :\網站\ Essential Collections \ development \ build \ Essential Collections \ Models \ SupplierCategories \ SupplierCategoriesRepository.cs 51 37基本收藏品
任何解決方案或其他可能的方法將受到歡迎
非常感謝,做工精細。但是,如果我想創建不直接映射到表的對象,我可以像上面那樣指定個別值嗎? – Billyhomebase 2010-12-14 16:28:40
@Billyhomebase:@BFree突出了你的類別和category_sub的對象構造函數出錯的地方。假如你有一個合適的構造函數,或者你恰當地識別了你正在初始化的屬性,那麼你可以實例化這些新的對象。 – Lazarus 2010-12-15 12:16:35
如果這個「工作正常」,我建議接受它作爲答案。 – 2011-02-02 18:38:15