C# 在实体框架4中包装导航属性
假设我有一个数据库表C# 在实体框架4中包装导航属性,c#,database,entity-framework,code-generation,edmx,C#,Database,Entity Framework,Code Generation,Edmx,假设我有一个数据库表节点 该表包含(除其他属性外)作为自引用FK的ParentID属性 从该数据库表创建的实体框架模型包含两个导航属性: public EntityCollection<Node> ChildrenNodes { get { return Node1; } set { Node1 = value; } } public Node ParentNode { get {
节点
该表包含(除其他属性外)作为自引用FK的ParentID
属性
从该数据库表创建的实体框架模型包含两个导航属性:
public EntityCollection<Node> ChildrenNodes
{
get
{
return Node1;
}
set
{
Node1 = value;
}
}
public Node ParentNode
{
get
{
return Node2;
}
set
{
Node2 = value;
}
}
EntityCollection节点1
节点Node2
public EntityCollection<Node> ChildrenNodes
{
get
{
return Node1;
}
set
{
Node1 = value;
}
}
public Node ParentNode
{
get
{
return Node2;
}
set
{
Node2 = value;
}
}
public EntityCollection子节点
{
得到
{
返回节点1;
}
设置
{
节点1=值;
}
}
公共节点父节点
{
得到
{
返回节点2;
}
设置
{
Node2=值;
}
}
现在,我可以从头开始重新创建EDMX,并且我的属性将保持不变
然而,我不确定的是,这是否会打破实体框架。我不知道这个名字访问了多少EF,所以我不确定这样做会带来什么后果
这会正常工作还是会产生一些问题?您使用的是哪个版本?我认为任何名称更改都是在edmx更新过程中保留的。但是,也许是这样,我记得在edmx中从未见过更改数据库中的某些内容(不确定是关系还是可空字段或类似内容),除非从模型中删除相关表,然后重新读取,因此丢失了名称。LINQ to SQL就是这种情况,但根据我的经验,实体框架工作得更好。@KornelijePetak您解决过这个问题吗?您使用的是哪个版本?我认为任何名称更改都是在edmx更新过程中保留的。但是,也许是这样,我记得在edmx中从未见过更改数据库中的某些内容(不确定是关系还是可空字段或类似内容),除非从模型中删除相关表,然后重新读取,因此丢失了名称。LINQ to SQL就是这样,但根据我的经验,实体框架工作得更好。@KornelijePetak你解决过这个问题吗?