我有一个内部消息传递应用程序项目。业务需求需要两种类型的地址,纯文本地址或地址代码,它们只是地址的简写形式。您可能会认为它像无线电操作员的名字,但不太神秘。
此外,EF Core需要多对多类的联接类。因此,地址关系变得复杂。
这是一个示例.btn:active {
background: #fff !important;
color: #343a40 !important;
}
类。您会看到Message
可为空。
Info
这是我提到的关系类。
#nullable
public class Message
{
public MessageAddress From { get; set; }
public List<MessageAddress> To { get; set; }
public List<MessageAddress>? Info { get; set; }
public string Subject { get; set; }
public string MessageBody { get; set; }
}
您可以看到我已经使用枚举为两种类型的地址创建了public class MessageAddress
{
public Guid MessageId { get; set; }
public Message Message { get; set; }
public Guid AddressId { get; set; }
public Address Address { get; set; }
}
类。为了简洁起见,我省略了该枚举。这是代码。
Address
您可以看到,我具有一对一的关系和两个多对多的关系,并且具有相同类型的拥有类。在public class Address
{
public string Address { get; set; }
public Guid AddressId { get; set; }
public AddressType AddressType { get; set; } // Enum: PlainText, AddressCode
public ICollection<MessageAddress> MessageAddresses { get; set; }
}
上,我看到以下错误消息:
Add-Migration AddressUpgrade -Verbose
我损失了大约3个小时。我该怎么做才能正确实施该要求?