我有两个继承自同一基类的类。以下是代码的一部分:
public abstract class baseclass
{
public virtual int? MyObjectID { get; set; }
public virtual Object MyObject { get; set; }
}
public class Derived1 :baseclass
{
}
public class Derived2 : baseclass
{
}
在为相同属性创建3列的数据库中:MyObjectID MyObject_ID MyObject_ID1
所以我无法向数据库发送值。它必须只是一列:MyObjectID如何防止重复的列?
我用Fluent Api解决了它:
modelBuilder.Entity<AnotherObject>().Ignore(o => o.Derived1);
modelBuilder.Entity<AnotherObject>().Ignore(o => o.Derived2);
modelBuilder.Entity<Object>().Ignore(o => o.AnotherObject);
现在我有另一个问题。我需要从Derived类中设置一个baseclass属性。
public abstract class BaseClass
{
public virtual string MutualString { get; set; }
}
public class Derived1 :BaseClass
{
public virtual Object1 Kisi { get; set; }
public override string MutualString
{
get { return Kisi.TamAd; } //*TamAd is string.
set { value = Kisi.TamAd; }
}
}
public class Derived2 : BaseClass
{
public virtual Object2 Firma{ get; set; }
public override string MutualString
{
get { return Firma.TamAd; }
set { value = Firma.TamAd; }
}
}
我试图上市时遇到错误。 “System.NullReferenceException:'对象引用未设置为对象的实例。'”但它不是null