![]() |
1
3
我的存储库方法不公开LINQ概念,例如
此外,我已经开始将大多数关联属性标记为内部属性,并且只在DAL查询期间使用它们(在OO工作期间没有这么多)。 |
![]() |
2
1
您可以使用类似于中使用的方法 NerdsDinner . 这个项目使用DATA上下文作为数据库的网关,并围绕它构建一个存储库。 这种存储库模式添加了一些条件、筛选器、排序命令。。。根据被调用的方法执行etc,然后向调用方返回IQuerable,让门打开以进行进一步修改。 实际上,在围绕NHibernate会话构建存储库时,您的做法几乎相同。 例如,如果您决定用NHibernate替换LinqtoSql,您只需在存储库中查询一个Linq会话,而不是datacontext会话。当然,您需要使用LinqtoSql自动添加的属性来完成分部类。 |
![]() |
3
0
嘿,内森,问得好。
我的方法是编写一个DAL,其中包含一系列通用方法,这些方法使用反射来完成任何必要的操作。 在这些情况下,一旦方法接收到一个对象,比如“产品”,它就可以在内部独立于您的ORM/数据访问技术来做任何它想做的事情。如果需要,它可以根据一些参数和对象的反射编写一个SQL字符串。 然而 问题实际上是实体本身。即使您抽象了用于检索数据的方法,您仍然会在业务逻辑中一直使用这些实体。 我觉得,目前,这正是我准备要面对的事情,因为重新编写我自己的断开连接的实体似乎是一座我还不准备跨越的桥梁,只是因为这似乎是很多不必要的工作。。。 不过,我很想看看其他人是如何解决这个问题的。
|
![]() |
4
-1
上面Mouk提到了NerdsBanner中的存储库模式,这里还有一个如何快速设置的教程: http://www.asp.net/learn/mvc/tutorial-10-cs.aspx 这是一个很好的小系列教程,在书呆子晚宴之前发布。这里的概念也可以在传统的asp.net web表单应用程序中设置。 |
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |