【发布时间】:2018-02-27 08:40:27
【问题描述】:
在我们的 EF 模型中,我们有很多 To/From (DateTime) 成员。昨天我尝试了一个新概念,我将这些 To/from 放在一个新类(DateTimePeriod)中,以使生活更轻松。
例子
public partial class SomeEfModel
{
[Key]
public int Id { get; set; }
public DateTimePeriod Time { get; set; }
}
public class DateTimePeriod
{
public DateTime From { get; set; }
public DateTime To { get; set; }
}
这按预期工作,但我意识到 Time 有时会为空。由于 EF 在数据库中将 From/To 创建为不可为空,因此 Time 不能为空。
我能否以某种方式在代码中仍然将 From/To 设为不可为空,但让它们在数据库中可以为空?如果它们为 null,则从 DB 获取时 Time-property 应该为 null。
哦,实体框架 6.0 顺便说一句。
提前致谢。
【问题讨论】:
-
时间属性(From 和 To 列)应该是同一个表 (SomeEfModel) 的一部分,还是可以保存在单独的表中?
-
@AndriyTolstoy 我们希望与模型的其余部分在同一个表中。
-
所以你想使用表拆分(使用同一张表)来实现 1 到 0...1 的关系。我认为它不受 EF 支持。
-
@AndriyTolstoy 感谢您的回答,尽管我不喜欢它的结果。 ;)
标签: c# asp.net .net entity-framework