小编Fru*_*nts的帖子

ORM与手动编码数据访问层

我有点害怕问这个问题,因为它可能会开始一场宗教战争,所以我想要清楚地知道我在寻找什么.我正在寻找一个理由,为什么你会或者已经或者已经跳过了某种方式以及将项目添加到我的列表中.我正在寻找大票,大爆炸物品.此外,产品特定的项目,如果它们真的相关,也许.此时我正在尝试评估ORM与手动而不是产品A与产品B.

ORM优势

 - Quick to code and low maintenance (in some/most scenarios) 
 - Additional features for "free" (no developer effort)

手工编码优势

 - More Efficient (at runtime, maybe not at dev time?)
 - Less layers of complexity
 - Most ORMS seem to struggle with being retricted to sprocs only

为了充分披露,我真的不喜欢"某事"对我的数据库执行代码的想法,我无法直接修改,如果我认为合适,但我可以看到ORM的潜在大量开发时间优势.

它也许值得注意我在.Net世界

[编辑](使用ORM或普通SQL的问题?似乎回答了许多问题并强调了关于性能的观点)

所以,稍微改变我的问题

有没有在早期阶段使用ORM构建应用程序,然后逐渐用手动编码的DAL替换?这种方法的缺陷是什么?

[进一步编辑 - 现在解决问题的核心]让一个网站能够对我的数据库执行任何SQL是可怕的.如果通过sprocs进行所有访问,我的数据库将保持良好,安全,舒适的隔离.使用专门的sprocs删除了很多(如果不是全部)SQL注入攻击向量.对此有何评论?

orm data-access

19
推荐指数
4
解决办法
9567
查看次数

数据集设计器问题 - Visual Studio 2008

我们使用数据集在应用程序中的各个节点之间抛出少量数据.

数据集本身位于程序集中,因为它是许多其他组件的引用.

Visual Studio数据集工具开发了一种奇怪的习惯,即每次构建时都会创建一个新的设计器.

所以,该项目看起来像这样

MyDataSet.xsd
 - MyDataSet.cs
 - MyDataset.designer.cs
 - ....

然后执行构建,结果是

MyDataSet.xsd
 - MyDataSet.cs
 - MyDataset.designer.cs
 - MyDataset1.designer.cs
 - ....

MyDataSet1设计器包含新的更改,原始设计器保持不变.我目前的解决方案是用MyDataset1.designer替换MyDataset.designer然后重建.

这是一个小小的不便,但如果有人进行了更改并且没有执行上述操作,则生成的程序集不包含其更改.

除了不使用数据集之外的任何建议?

designer dataset visual-studio-2008

9
推荐指数
2
解决办法
5082
查看次数

为nvarchar(256)......?

为什么nvarchar(256)似乎是SQL Server中用户名的标准?

任何返回用户名的系统函数都返回nvarchar(256),ASP成员资格提供程序使用nvarchar(256)

256似乎是一个奇数(是的,我知道它甚至......) - 255我能理解(1字节地址)但256对我没有意义.

谁能解释一下?

sql sql-server

5
推荐指数
1
解决办法
4960
查看次数

.NET中的uint.MaxValue

uint x = uint.MaxValue - 100;

以上行导致visual studio报告"在检查模式下编译时操作溢出"

我显然错过了一些东西.有什么想法吗?

.net

0
推荐指数
1
解决办法
790
查看次数