Linq to sql Linq到Sql与CRUD对象?
我有一个表中的linq到sql对象。我想在配置文件集合中存储类似的数据。从技术上讲,我不需要linq2sql表中的所有数据,也不喜欢传统的命名结构。我的第一个想法是创建一个CRUD对象集合 但是,如果我选择这个解决方案,我将拥有两个具有许多重叠功能的类。如果我按原样使用linq2sql对象,那么我将处理包含更多必要数据的抽象 为了给您提供一个更清晰的示例,我将创建一个类似的示例: 这将进入数据库并创建linq-2-sql抽象Linq to sql Linq到Sql与CRUD对象?,linq-to-sql,oop,architecture,dry,Linq To Sql,Oop,Architecture,Dry,我有一个表中的linq到sql对象。我想在配置文件集合中存储类似的数据。从技术上讲,我不需要linq2sql表中的所有数据,也不喜欢传统的命名结构。我的第一个想法是创建一个CRUD对象集合 但是,如果我选择这个解决方案,我将拥有两个具有许多重叠功能的类。如果我按原样使用linq2sql对象,那么我将处理包含更多必要数据的抽象 为了给您提供一个更清晰的示例,我将创建一个类似的示例: 这将进入数据库并创建linq-2-sql抽象 NoteSaved Date Id UserId Text ....
NoteSaved
Date
Id
UserId
Text
....
Custom Methods
这将进入用户配置文件
[Serializable]
SavedSearchText
Text
...
Custom Methods
SavedSearchText不需要像id、userid和date这样的垃圾数据,而且这些数据对它来说毫无意义。但这两个类的自定义功能将重叠
我看到了两种微不足道的方法:
在这种情况下,甚至可以使用高级方法,例如扩展方法来扩展这两个类,但我宁愿不使用扩展方法,除非需要。Linq to SQL本身不是一个基于对象的ORM…它是一个基于表的ORM。你可能混淆了这两个。还有其他的ORM可以让您更好地控制对象,将它们从数据库表中抽象出来,使它们看起来更像普通的域对象,而不是表对象。Linq到SQL并不是那种动物。如果您使用Linq to SQL,您必须从表而不是对象的角度来思考。此外,为了回答您的问题,如果您告诉我们两个带插图的抽象之间有什么关系(如果有的话),这会有所帮助。@Harvey我知道linq2sql是基于表的,但它们是类,可以通过分部类进行扩展。我的问题是,当一个简单的CRUD对象只需要linq2sql数据的一个子集就可以序列化为配置文件(或磁盘)和功能的一个子集时,有哪些解决方案是可行的。@Harvey想象我有几个这样的linq2sql类,所有这些类都具有我需要的公共功能。我可以为CRUD操作创建一组并行类,但我需要这样做,这将导致方法的大量重复。我可以通过分部类进行扩展,但我会将更多数据存储到配置文件中,然后根据需要处理具有不适用的表字段的对象。