我有以下域类,我将其用作多个实体的拥有实体。
public class DateTimeSpan
{
private DateTimeSpan()
{
}
private DateTimeSpan(DateTime start, DateTime end)
{
Start = start;
End = end;
}
public DateTime? Start { get; private set; }
public DateTime? End { get; private set; }
public TimeSpan? TimeSpan
{
get
{
if (End.HasValue && Start.HasValue)
return End.Value - Start.Value;
return null;
}
}
public static DateTimeSpan Create(DateTime start, DateTime end)
{
return new DateTimeSpan(start, end);
}
}
在第一个实体上工作得很好。这两个属性都带有正确的名称。当我将它添加到第二个实体时,EF会尝试将第一个实体重命名为第二个实体(我在迁移中添加的实体),然后添加两列。
所以这基本上就是我的目标...
public class Entity1
{
public DateTimeSpan MyDateRange1 { get; set; }
public DateTimeSpan MyDateRange2 { get; set; }
}
public class Entity2
{
public DateTimeSpan AnotherDateRange { get; set; }
}
Entity1很酷。 EF尝试将Entity1重命名为Entity2,并在迁移中添加新字段。