5
我有两个表已经被创建。 Document
和DocumentStyle
。他们通过DocumentID
列有一对一的关系。然而,Id
表在Document
表中,DocumentId
表在DocumentStyle
表中。一对一关系,不同的关键列名称,实体框架,代码优先的方法
像这样的事情
> Document DocumentStyle
> |----------| |----------------|
> |Id - Key |<------>|DocumentId- key |
> |Name-VChar| |Color -VChar|
> |Desc-VChar| |Font VChar |
> |----------| |----------------|
,我发现了以下错误VS
的ForeignKeyAttribute物业 'DocumentStyle' 在类型 'KII.Models.Document' 是无效的。 外键名称'DocumentId'在依赖类型 'KII.Models.Document'中找不到 。名称值 应该是以逗号分隔的 外键属性名称列表。
这是文档模型类的部分代码
[ForeignKey("DocumentId")] public
DocumentStyle DocumentStyle { get;set; }
编辑:
这是我的类的代码。
public class Document { [Key] public int ID { get; set; } public string Name { get; set; } public int FundId { get; set; } public int ClientId { get; set; } [ForeignKey("FundId")] public Fund Fund { get; set; } [ForeignKey("ClientId")] public Client Client { get; set; } //public ImageWrapper Logo { get; set; } [ForeignKey("ID")] public DocumentStyle DocumentStyle { get; set; } public Document() { } public Document(DocumentStyle documentStyle) { DocumentStyle = documentStyle; } } public class DocumentStyle { public DocumentStyle() { } [Key] [DisplayName("Document ID")] public int DocumentId { get; set; } [ForeignKey("DocumentId")] public Document Document { get; set; } [DisplayName("Title Foreground Color")] public string TitleForegroundColor { get; set; } [DisplayName("Title Background Color")] public string TitleBackgroundColor { get; set; } [DisplayName("Title Font Family")] public string TitleFontFamily { get; set; } [DisplayName("Title Font Size")] public string TitleFontSize { get; set; } [DisplayName("Title Font Style")] public string TitleFontStyle { get; set; } [DisplayName("Title Font Weight")] public string TitleFontWeight { get; set; } [DisplayName("Title Text Decoration")] public string TitleTextDecoration { get; set; } [DisplayName("Section Title Foreground Color")] public string SectionTitleForegroundColor { get; set; } [DisplayName("Section Title Background Color")] public string SectionTitleBackgroundColor { get; set; } [DisplayName("Section Title Font Family")] public string SectionTitleFontFamily { get; set; } [DisplayName("Section Title Font Size")] public string SectionTitleFontSize { get; set; } [DisplayName("Section Title Font Styled")] public string SectionTitleFontStyle { get; set; } [DisplayName("Section Title Font Weight")] public string SectionTitleFontWeight { get; set; } [DisplayName("Section Title Text Decoration")] public string SectionTitleTextDecoration { get; set; } [DisplayName("Paragraph Foreground Color")] public string ParagraphForegroundColor { get; set; } [DisplayName("Paragraph Background Color")] public string ParagraphBackgroundColor { get; set; } [DisplayName("Paragraph Font Family")] public string ParagraphFontFamily { get; set; } [DisplayName("Paragraph Font Size")] public string ParagraphFontSize { get; set; } [DisplayName("Paragraph Font Style")] public string ParagraphFontStyle { get; set; } [DisplayName("Paragraph Font Weight")] public string ParagraphFontWeight { get; set; } [DisplayName("Paragraph Text Decoration")] public string ParagraphTextDecoration { get; set; } [DisplayName("Logo")] public byte[] Logo { get; set; } }
大。我错了。它做了诡计。我通过了这个错误。不过,我现在得到这个。 “多重性在'Document_DocumentStyle'关系中的'Document_DocumentStyle_Source'中无效,因为从属角色是指关键属性,所以从属角色的多重性的上限必须为1” – Omar 2011-05-13 16:57:23
显示您的实体或流利的映射。这看起来像你试图在不可能的情况下定义一个可选的方面。 – 2011-05-13 17:03:47
ForeignKey属性必须仅用于定义外键的关系的一侧。我猜'Document'在你的模型中是主体,所以从'DocumentStyle'属性中删除属性。 – 2011-05-13 17:19:31