【发布时间】:2012-04-29 08:54:51
【问题描述】:
我正在 C# 中为 SQL Server 数据库表创建数据访问层。数据访问层包含表中每一列的属性,以及从数据库读取和写入数据的方法。让读取方法基于实例似乎是有意义的。我的问题是关于处理数据库生成的主键属性 getter/setter 和 write 方法。据我所知,我有三个选择...
选项 1:使用静态方法同时只允许在主键上使用 getter 可以让我强制将所有正确的值写入数据库,但作为开发人员来说很笨拙。
选项 2:使用和基于实例的写入方法更易于维护,但我不确定如何处理主键上的 get/set,我可能必须先对实例进行某种验证写入数据库。
选项 3:别的东西,但我对 LINQ 和拖放东西很警惕,他们以前烧过我。
这里有标准做法吗?也许我只需要一个可靠教程的链接?
【问题讨论】:
-
我用过的几个框架,会在你保存记录时根据数据库提供的内容自动更新主键。这让我完全不用担心主键。我也可以设置它,但可能会遇到数据库拒绝我设置主键的问题。您也可以将该属性保留为标准属性,但在您的 save() 或 update() 方法中,请确保忽略更新主键列 - 这对于开发人员来说会很奇怪,我宁愿看到类似 (您尝试设置主键,但数据库拒绝了您)
标签: c# asp.net data-access-layer