如果 Device 表具有复合主键,则您在 NotificationMessageDevice
表上需要相同的复合外键。SQL如何找到没有完整主键的设备?另外,您应该使这些字段成为 NotificationMessageDevice
表主键的一部分。否则,您不能保证主键是唯一的:
public class NotificationMessageDevice{ [Column(Order = 0), Key, ForeignKey("NotificationMessage")] public int NotificationMessage_ID { get; set; } [Column(Order = 1), Key, ForeignKey("Device")] public int Device_ID { get; set; } [Column(Order = 2), Key, ForeignKey("Device")] public string Device_UDID { get; set; } [Column(Order = 3), Key, ForeignKey("Device")] public string Device_ApplicationKey { get; set; } public virtual Device Device { get; set; } public virtual NotificationMessage NotificationMessage { get; set; }}


