我的人际关系有些问题。 Campaign有页面,页面有CssFile。当我从数据库查询所有广告系列时,会抛出错误(见下文)。
public IQueryable<Campaign> FindAll()
{
return campaigns.Include(c => c.Pages).AsQueryable();
}
public class Page
{
[Key()]
public int Id { get; set; }
public string Logo { get; set; }
public string LogoAlt { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Footer { get; set; }
[ForeignKey("CssFile")]
public int CssFileId { get; set; }
public virtual CssFile CssFile { get; set; }
[ForeignKey("Campaign")]
public int CampaignId { get; set; }
public virtual Campaign Campaign { get; set; }
public Page()
{
CssFile = new CssFile(this, "default.css");
CssFileId = CssFile.CssFileId;
}
public override bool Equals(object obj)
{
if (!(obj is Page))
return false;
return ((Page)obj).Id == this.Id;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
}
public class CssFile
{
public const string PATH = "../../Uploads/";
[Key()]
public int CssFileId { get; set; }
public string FileName { get; set; }
public string Content { get; set; }
[ForeignKey("Page")]
public int PageId { get; set; }
public virtual Page Page { get; set; }
public CssFile()
{
FileName = "default.css";
Content = "";
}
public CssFile(Page page, string name, string content)
{
Page = page;
PageId = page.Id;
this.FileName = name;
this.Content = content;
}
public CssFile(Page page, string name)
{
Page = page;
PageId = page.Id;
this.FileName = name;
Content = "";
}
}
错误:
在模型生成期间检测到一个或多个验证错误:
System.Data.Edm.EdmAssociationEnd :: Multiplicity在Role中无效 关系'Page_CssFile'中的'Page_CssFile_Target'。因为 依赖角色属性不是关键属性,即上限 依赖角色的多样性必须是 * 。
描述:执行期间发生了未处理的异常 当前的网络请求。请查看堆栈跟踪了解更多信息 有关错误的信息以及它在代码中的起源。
异常详细信息: System.Data.Entity.ModelConfiguration.ModelValidationException:一个或 在模型生成期间检测到更多验证错误:
System.Data.Edm.EdmAssociationEnd :: Multiplicity在Role中无效 关系'Page_CssFile'中的'Page_CssFile_Target'。因为 依赖角色属性不是关键属性,即上限 依赖角色的多样性必须是 * 。