我正在尝试在代码优先实体框架项目中使用数据注释方法。
这是我的实体:(显示有限的字段)
public partial class CUSTOMEREXT
{
[StringLength(36)]
public string ID { get; set; }
public virtual CUSTOMER CUSTOMER { get; set; }
}
public partial class CUSTOMER
{
[StringLength(36)]
public string ID { get; set; }
public virtual CUSTOMEREXT CUSTOMEREXT { get; set; }
}
Fluent API :(有效)
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<CUSTOMER>()
.Property(e => e.ID)
.IsFixedLength()
.IsUnicode(false);
modelBuilder.Entity<CUSTOMER>()
.HasOptional(e => e.CUSTOMEREXT)
.WithRequired(e => e.CUSTOMER);
modelBuilder.Entity<CUSTOMEREXT>()
.Property(e => e.ID)
.IsFixedLength()
.IsUnicode(false);
}
动态生成模型构建器:(这不起作用)
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.AddFromAssembly(Assembly.GetAssembly(GetType())); //Current Assembly
base.OnModelCreating(modelBuilder);
}
要测试的代码:
Model1 model = new Model1();
var outp = model.Set<CUSTOMEREXT>().ToList();
var out1p = model.Set<CUSTOMER>().ToList();
错误:
无法确定之间的关联的主要目的 类型“ OraclePOC.CUSTOMER”和“ OraclePOC.CUSTOMEREXT”。校长 必须使用以下任一方法显式配置此关联的末尾 关系流利的API或数据注释。
通过查看this,我知道我必须将WithRequired
转换为数据注释属性。不确定如何?
有什么主意吗?
答案 0 :(得分:0)
我能够弄清楚这一点:
添加kubeadm init --apiserver-cert-extra-sans=private-ip,public-ip \
--pod-network-cidr $CALICO_NETWORK \
--apiserver-advertise-address=private-ip
属性:
[Required]