我们正在评估内部应用程序的Linq2Sql,我们的开发指南意味着我们必须始终对所有CRUD操作使用存储过程,从各种博客我已经将一个应用程序放在一起,完成了我们想要的任务。
但是,我想做的是当我们在两个实体之间建立关系时,可以自动实现这种关系。
例如,如果我有一个Person对象的实例,我希望能够说
var absenceCount = persons.Absence.Count()
但是因为我们对Absence表没有select权限,所以我们得到一个Sql异常。
到底有没有?
答案 0 :(得分:0)
通过对所有数据库操作使用存储过程,您将失去ORM(如Linq-To-SQL)和使用LINQ查询的大部分好处。例如,通过使用存储过程来检索所有数据,您将无法对所有查询进行强类型检查。
当然,您仍然可以将L2S与存储过程一起使用,但如果您的所有查询操作都必须通过存储过程完成,我真的没有看到它的重点。
要回答第二个问题,如果您没有权限对表进行选择,您如何期望L2S能够填充缺勤表?如果L2S以某种方式能够做到这一点,你所建立的安全性的重点是什么?
兰迪答案 1 :(得分:0)
凭借纯粹的机会,我偶然发现了一些博客文章证明这是可行的,我已经对它进行了测试并且它可以实现一种享受
基本上有一个名为Load调用你的存储过程中的方法添加到你的DataContext类中将允许它工作
链接此处的示例