好的,我不认为我的控制器应该知道sql。
我想将传入的空值转换为我的操作,以更改为MinValue
var salesFrom = Model.SalesFrom ?? SqlDateTime.MinValue;
但是,如果我将此行添加到我的控制器操作中,那么我的控制器将转向SQL特定的实现。所以,我认为它属于我的服务....但是,因为它是一个因实现而异的声明,我不想让它成为我的IService
的一部分因为那时我必须实现它我创建的任何服务。
最后,我想将它添加到DataContext,但我的控制器不直接访问Context ....
答案 0 :(得分:1)
由于您使用的是EF Code-First,因此请将模型类的默认值SalesFrom
属性设置为SqlDateTime.MinValue
。或者,这也是SQL特定的吗?
答案 1 :(得分:1)
我对EF知之甚少,但我认为这是一种很好的做法。
我喜欢让我的模型/控制器完全与数据库无关。
如果我是你,我会怎么做:
答案 2 :(得分:0)
您可以尝试为您的DbContext覆盖OnModelCreating
,并使用Fluent API为生成的列指定数据库默认值。