【发布时间】:2014-01-31 17:30:13
【问题描述】:
这里集中讨论这个问题,我们可以说我有一个数据库层和一个应用程序层。因此,为了让应用程序能够访问数据库,我必须通过数据库层(当然)。
现在我想使用 LINQ 编写查询。我可以在这里走两条不同的路。 [A] 的一种方法是在 DBLayer 中创建大约 300 个单独的函数,并从应用程序中调用它们(例如,GetAllUsers())。
或[B] DBLayer 或多或少只提供一个 DBContext,然后我可以从应用层 (DBContext.GetAll<Users>().Where(x => x...) 运行 LINQ 查询。
我认为 [B] 路径会更吸引人,或者至少不那么烦人,因为它不会被小函数填满。但是你会说什么呢?
但是 [B] 路径的问题在于,如果我可以避免它,我不想在应用程序中引用 NHibernate,但我似乎无法访问 NHibernate 函数的 LINQ没有引用它。有什么好的解决办法吗?
【问题讨论】:
标签: c# linq nhibernate architecture