使用EF构建我有一个产品类
[Table("Products")]
public class Product
{
public Product()
{
this.LanguageProduct = new List<LanguageProduct>();
}
[Key, ScaffoldColumn(false)]
public int ProductId { get; set; }
public virtual ICollection<LanguageProduct> LanguageProduct { get; set; }
}
通过一对多关系链接到另一个以无限数量的语言记录名称的类:
public class LanguageProduct
{
[Key, Column(Order = 0), ForeignKey("Product")]
public int ProductID { get; set; }
[Key, Column(Order = 1), ForeignKey("Languages"), StringLength(6)]
public string Language { get; set; }
[StringLength(100), Display(Name = "Product name")]
public string ProductName { get; set; }
public virtual LanguagesList Languages { get; set; }
}
如果您没有注意到,LanguageProduct类具有基于两个外键的复合键。到目前为止一切正常。 在我的一个aspx页面中,我尝试用一种语言的产品名称填充下拉列表顺序。
public IQueryable GetProductsList()
{
var _db = new ApplicationDbContext();
IQueryable query = _db.Products.OrderBy(p => p.LanguageProduct.Where(z => z.Language == "en-US").SelectMany(x => x.ProductName));
return query;
}
正如您可能怀疑的那样,我的问题来自那个不返回任何内容的查询。我没有成功地尝试过任何事情。除了其他的东西,我已经将MultipleActiveResultSets添加到我不喜欢的连接字符串中。 你有什么迹象要解决这个问题吗?