我可以让我的持久层对象实现一个使用 enum 的接口,并隐式转换为 int 吗?
我有一个域接口
public interface ITicket
{
...
TicketWorkflowStatus StatusId{get;set;} // Enum
}
,但数据库上的 linq-to-sql 持久层想要使用 int
,我可以在 dbml 中更改它,以便本地类型为 TicketWorkflowStatus
?我有什么选择?
I have a domain interface
public interface ITicket
{
...
TicketWorkflowStatus StatusId{get;set;} // Enum
}
but the linq-to-sql persistance layer on the database wants to use int
, can I change it in the dbml so that the local type is TicketWorkflowStatus
? What are my options?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
域应该与持久性基础设施分离,并且没有任何借口该基础设施可以在对域模型进行建模时强制做出这样的决策。
在你的情况下,它是外部耦合。
经验告诉我们——一旦你开始为你的 ORM 提供太多服务,它很快就会让你屈服。
Domain is supposed to be detached from persistence infrastructure and there are no excuses that this infrastructure can force such a decisions when modeling Your domain model.
In Your case it's external coupling.
Telling from experience - once You start to serve too much to Your ORM, it will bring down You to knees in no time.