我的模特就像这样
public class Appointment
{
public int AppointmentID { get; set; }
public string AppointmentCode { get; set; }
public string ApplicationUserId { get; set; }
[ForeignKey("ApplicationUserId ")]
public ApplicationUser ApplicationUser { get; set; }
public int PriceId { get; set; }
}
我希望ApplicationUserId
是可以为空的外键,但它不是像桌子上那样创建的
CONSTRAINT [FK_dbo.Appointment_dbo.IdentityUser_ApplicationUserId] FOREIGN KEY ([ApplicationUserId]) REFERENCES [dbo].[IdentityUser] ([Id]),
有人能指出正确的方法来实现这个目标吗?
注意:我正在使用Entity框架代码第一种方法
答案 0 :(得分:5)
根据您的模型,我猜您尝试在ApplicationUser
和Appointment
之间创建一对多关系(一个用户可以拥有多个Appointment
)。如果是这种情况,您可以通过以下方式在上下文的OnModelCreating
方法中配置该关系:
modelbuilder.Entity<Appoiment>().HasOptional(a=>a.ApplicationUser)
.WithMany(au=>au.Appointments)
.HasForeignKey(a=>ApplicationUserId);
选中此link并转到&#34; Nullable外键以获得一对多关系。&#34;
答案 1 :(得分:1)
对于EF核心,您可以在OnModelCreating:
中编写以下代码fwrite("&tm->tm_mon+1", sizeof(tm->tm_mon+1),1,fptr);
fwrite("&tm->tm_mday", sizeof(tm->tm_mday+1),1,fptr);
fwrite("&tm->tm_hour", sizeof(tm->tm_hour+1),1,fptr);
fwrite("&tm->tm_sec", sizeof(tm->tm_sec+1),1,fptr);
fwrite("&frame_rd->can_id", sizeof(frame_rd->can_id),1,fptr);
fwrite("&frame_rd->data", sizeof(frame_rd->data),1,fptr);