Orchardcms 将多个地址附加到一名员工

Orchardcms 将多个地址附加到一名员工,orchardcms,Orchardcms,我正在创建一个自定义员工模块。员工最多可以有三个地址。我正试图跟随这篇文章- 这是我在Migrations.cs中看到的 SchemaBuilder.CreateTable("EmployeeRecord", table => table .ContentPartRecord() .Column<int>("EmployeeId") ... .Column<i

我正在创建一个自定义员工模块。员工最多可以有三个地址。我正试图跟随这篇文章-

这是我在Migrations.cs中看到的

 SchemaBuilder.CreateTable("EmployeeRecord",
        table => table
            .ContentPartRecord()
            .Column<int>("EmployeeId")
            ...
            .Column<int>("AddressRecord_Id")
        );


SchemaBuilder.CreateTable("AddressRecord",
    table => table
        .Column<int>("Id", column => column.PrimaryKey().Identity())
        ...
    );
当提交CreateNewEmployeeForm时,我会得到包含多个地址的数据。我可以创建新的员工内容类型。但我不知道如何创建这三个地址并将其分配给该员工。 有什么帮助吗


谢谢。

您的模型的基本原理是错误的:如果员工有地址,那么应该是地址指向员工,而不是员工指向地址。除非你永远不会有超过三个,在这种情况下,你可以有Address1,Address2和Address3属性。在任何情况下,我建议您在继续之前阅读更多关于关系数据库中关系表示的内容。

我没有考虑底层数据库设计。我试着尽可能仔细地阅读这篇文章。在Orchard中实现1-n关系还有其他例子吗?上面链接中的地址/状态示例并没有太大帮助。好吧,这根本没有紧跟文章,因为你把关系向后推了,而文章把它做对了。你能解释一下文章是如何不有用的,这样我就知道你在期待什么吗?文章不容易被跟踪,地址/状态不是1-n关系的好例子。这是我在文章中看到的,AddressPartRecord有StateRecord,AddressPartRecord表有StateRecord\u Id。
code
public类AddressPartRecord:ContentPartRecord{…公共虚拟StateRecord StateRecord{get;set;}…}SchemaBuilder.CreateTable(“AddressPartRecord”,table=>table…列(“StateRecord_Id”)<代码>代码文档在github上,任何人都可以贡献。如果你认为这是一篇不好的文章,请随意修改。我不明白为什么地址/状态不是1-n的好例子。因为地址只有一个状态。我觉得作者可以用别的东西来说明一对多的关系。你能对AddressPartRecord和表格结构发表意见吗。
public class EmployeeRecord : ContentPartRecord {
    public virtual int EmployeeId { get; set; }
    ...
    public virtual AddressRecord AddressRecord { get; set; }
}

public class AddressRecord {
    public virtual int Id { get; set; }
    ...
}