我有两个已经创建的表。 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'。名称值 应该是逗号分隔的列表 外键属性名称。
这是Document model类
的代码的一部分[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; } }
答案 0 :(得分:6)
ForeignKey
属性对外键属性和导航属性。它没有定义相关表的属性!所以你必须使用:
public class Document
{
public int Id { get; set; }
[ForeignKey("Id")]
public DocumentStyle DocumentStyle { get; set; }
}
如果Document
是依赖实体或:
public class DocumentStyle
{
public int DocumentId { get; set; }
[ForeignKey("DocumentId")] // Should not be needed
public Document Document { get; set; }
}
如果DocumentStyle
依赖