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