我正在创建一个自定义员工模块。员工最多可以有三个地址。我试着关注这篇文章 - http://docs.orchardproject.net/Documentation/Creating-1-n-and-n-n-relations
这就是我在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())
...
);
以下是模型。
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; }
...
}
提交create-new-employee表单时,我会获得包含多个地址的数据。我可以创建一个新的员工内容类型。但我不确定如何为该员工创建和分配三个地址。 有什么帮助吗?
感谢。
答案 0 :(得分:2)
您的模型的基础知识是错误的:如果员工有地址,那么应该指向员工的地址,而不是地址的员工。除非你真的永远不会有超过三个,在这种情况下你可以拥有Address1,Address2和Address3属性。在任何情况下,我建议您在继续之前阅读关于关系数据库中关系表示的更多信息。