【发布时间】:2012-03-27 10:47:43
【问题描述】:
我有一个简单的关系。一个活动链接到两个页面。一个页面只能链接到一个活动。但是我一直遇到这个错误:
System.Data.Edm.EdmAssociationEnd: : 多重性在角色中无效 关系“Page_Campaign”中的“Page_Campaign_Source”。因为 Dependent Role 属性不是关键属性,上限 从属角色的多重性必须是“*”。
我浏览了一些示例代码和教程,同时将其与我的代码进行比较,但我找不到错误。
public class Campaign
{
[Key()]
public int Campaignid { get; set; }
public string Name { get; set; }
public virtual Page LandingPage { get; set; }
public virtual RedeemPage RedeemPage { get; set; }
}
public class Page
{
[Key()]
public int PageContentId { get; set; }
public string Logo { get; set; }
public string Css { get; set; }
[ForeignKey("Campaign")]
public int campaignID { get; set; }
public virtual Campaign Campaign { get; set; }
}
编辑
关注 Eranga 的回复并改用 Fluent API,但现在我得到了:
保存不公开外键的实体时出错 他们关系的属性
【问题讨论】:
-
我只是想知道,为什么在campaign类中你只有页面的虚拟对象而没有它们的foreignKey,而在页面类中你有foreignKey和virtual objebt广告系列?
-
RedeemPage真的是另一个类吗?还是应该是Page? -
@stmnmn 因为外键位于关系的“一”端
-
@Slauma RedeemPage 继承自 Page
-
您是否尝试过“清理并构建”? ;D
标签: c# asp.net entity-framework