LINQ to SQL生成函数,如何编写用于插入,更新和删除的泛型函数

时间:2011-12-12 14:06:32

标签: c# linq-to-sql

这可能是关于仿制品和/或反思的问题......但我想有人比我能说的更有经验。

所以,我有一个由SQLMetal.exe生成的DataContext类。

除了从数据库生成所有实体外,它还为我提供了插入,更新和删除每个实体的部分功能。

我注意到的是,这些功能最终看起来大致相同。例如,Insert检查主键(int)是否为零。如果是,则在DataContext中的给定表上调用“InsertOnSubmit”,然后调用SubmitChanges。

因此变量是主键字段和类型。除此之外,他们是一样的。这可以更通用,这样我只能编写一个插入,更新和删除功能吗?

感谢。

编辑:当我谈论功能时,我也指的是方法。他们的意思不一样吗?另外,我想要三个独立的通用函数。插入,更新和删除。

1 个答案:

答案 0 :(得分:0)

我不确定我是完全理解这一点的。按功能你的意思是方法?也许您可以创建一个Persist(..)方法来确定它是基于键值的插入还是更新,但很难看出没有删除(..)方法的价值或者确实如此。