public class Commodity
{
public int CommodityID { get; set; }
public string MadeBy { get; set; }
public decimal ServiceTimePrice { get; set; }
public decimal QCPrice { get; set; }
public int ServicePoint { get; set; }
public string Note { get; set; }
public int CommodityGroupID { get; set; }
[ForeignKey("CommodityGroupID")]
public virtual CommodityGroup CommodityGroup { get; set; }
}
public class CommodityGroup
{
public int CommodityGroupID { get; set; }
public string CommodityGroupName { get; set; }
public virtual ICollection<Commodity> Commodities { get; set; }
}
此属性在Edmx文件(数据库优先)中定义,我应该首先在ef代码中定义此代码吗?
[BrowsableAttribute(false)]
[DataMemberAttribute()]
public EntityReference<CommodityGroup> CommodityGroupReference
{
get
{
return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<CommodityGroup>("GaamRepairModel.FK_Commodity_CommodityGroup", "CommodityGroup");
}
set
{
if ((value != null))
{
((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<CommodityGroup>("GaamRepairModel.FK_Commodity_CommodityGroup", "CommodityGroup", value);
}
}
}
答案 0 :(得分:0)
听起来你想要一个改变跟踪代理。您希望CommodityGroup导航属性在FK更改正确时自动更新吗?
有关更改跟踪代理的详细信息,请参阅this post on MSDN。
这个post on MSDN显示了一些关于如何正确创建代理对象测试的代码。
这是一个新对象吗?如果是这样,您需要在DbSet上调用CreateObject函数,而不是使用New Commodity()。