【发布时间】:2020-03-12 05:58:23
【问题描述】:
我试图解决多对多关系。在数据库级别上,一切对我来说都很好,但是当我尝试获取该数据时(inlcude),它失败了。
我明白了:
Include 中使用的 Lambda 表达式无效。
我所说/尝试过的:
var readRecipes = db.MyClasses.
Include(blog => blog.SomeCollections).ThenInclude(post => post.Prop1).
Include(blog => blog.SomeCollections).ThenInclude(post => post.Prop2).
结构
主类:
public class MainClass{
// ...
public ICollection<NavigationProperty> NavigationPropertys;
// ...
public MainClass()
{
this.NavigationPropertys = new Collection<NavigationProperty>();
}
}
导航属性:
public class NavigationProperty
{
public Guid ID { get; set; }
[Required]
public Guid? Prop1ID { get; set; }// 0,*
[Required]
public Guid? Prop2ID { get; set; }// 0,*
[Required]
public Guid MainClassID { get; set; }
[Required]
public Prop1 Prop1 { get; set; }
[Required]
public Prop2 Prop2 { get; set; }
public MainClass MainClass { get; set; }
[Required]
public float Amount { get; set; }
public NavigationProperty()
{
// todo: ?
}
}
我不知道,我做错了什么?
【问题讨论】:
-
嗯,所以
Recipes=MainClass和SomeCollection=NavigationProperty?您可以通过仅包含必要的属性来改进您的帖子。它使阅读更容易。 -
@Dennis1679 你是对的,我更正了。我应该包括
Prop1和Prop2吗?
标签: c# sql entity-framework linq asp.net-core