实现接口的 LINQ to SQL 类
Posted
技术标签:
【中文标题】实现接口的 LINQ to SQL 类【英文标题】:LINQ to SQL Classes implementing an interface 【发布时间】:2012-01-05 20:57:23 【问题描述】:我正在使用 LINQ to SQL (O/R) 设计器为应用程序设计数据模型,我想知道:是否可以让(许多)类实现接口或基类并将实现的字段值存储在数据库?
我的大多数类(如果不是全部)都需要存储描述对象元数据的公共字段,例如对象的创建时间和创建者、对象是否被删除以及上次修改的时间......理想情况下,这些字段只进入数据库中实现类表的列中。
我知道在 .dbml 文件中指定全局基类或接口的选项,但这不是很优雅,因为我会有一些不实现接口的 L2S 类。
我知道使用 NHibernate 之类的东西很容易做到这一点。我只是想看看是否有办法用 LINQ to SQL 以一种优雅的方式做到这一点。
任何指针?
【问题讨论】:
【参考方案1】:是的,这是可能的。只需添加带有部分对应类的单独代码文件并在那里实现您的接口。
【讨论】:
我是否必须指定任何属性才能让 L2S 看到它们是需要进入数据库的字段? 是的。从任何现有数据库创建模型并查看自动生成的属性。您将很快发现那里发生了什么,并能够在您自己的课程中重现它。以上是关于实现接口的 LINQ to SQL 类的主要内容,如果未能解决你的问题,请参考以下文章