Car*_*nco 5 c# ef-code-first entity-framework-4.1
我有两个已经创建的表.Document和DocumentStyle.他们通过DocumentID专栏有一对一的关系.然而,它被称为Id在Document表,DocumentId在DocumentStyle表中.
像这样的东西
> Document DocumentStyle
> |----------| |----------------|
> |Id - Key |<------>|DocumentId- key |
> |Name-VChar| |Color -VChar|
> |Desc-VChar| |Font VChar |
> |----------| |----------------|
Run Code Online (Sandbox Code Playgroud)
我在VS中遇到以下错误
类型为"KII.Models.Document"的属性"DocumentStyle"上的ForeignKeyAttribute无效.在依赖类型"KII.Models.Document"上找不到外键名称"DocumentId".Name值应该是以逗号分隔的外键属性名称列表.
这是Document模型类的代码的一部分
[ForeignKey("DocumentId")] public
DocumentStyle DocumentStyle { get;set; }
Run Code Online (Sandbox Code Playgroud)
编辑:
这是我班级的代码.
Run Code Online (Sandbox Code Playgroud)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; } }
ForeignKey属性对外键属性和导航属性.它没有定义相关表的属性!所以你必须使用:
public class Document
{
public int Id { get; set; }
[ForeignKey("Id")]
public DocumentStyle DocumentStyle { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果Document是依赖实体或:
public class DocumentStyle
{
public int DocumentId { get; set; }
[ForeignKey("DocumentId")] // Should not be needed
public Document Document { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果DocumentStyle是依赖的
| 归档时间: |
|
| 查看次数: |
10189 次 |
| 最近记录: |