我是新来的MVC概念和分离控制器逻辑的数据。我正在使用Linq to Sql - 现在我创建了一个新的DbContext实例,然后使用它从控制器查询数据库。我必须在代码中的不同位置做很多相同的查询 - 所以我的问题是 - 我能否在我的Model文件夹中创建一个独立的类,在那里创建一个新的dbcontext实例,并创建查询的函数db在类中,使这些函数公开,然后从我想要的任何控制器调用它们?我想它是一个2部分的问题,我能做到这一点,这是连接到数据库的首选方式,或者我只是写在不同的控制器的所有单独的代码?从单独的类查询数据库asp.net MVC
0
A
回答
1
如果您必须多次执行相似/相同的查询,我建议您compile your LINQ queries(该链接适用于LINQ to Entities,但对于LINQ to SQL基本上是一样的)。它反复调用查询有更好的性能。你可以做类似下面的代码片段的东西:
static readonly Func<DbContext, IQueryable<T>> compiledQuery = CompiledQuery.Compile<DbContext, IQueryable<T>>(/*your query goes here*/);
using (DbContext context = new DbContext())
{
IQueryable<T> results = compiledQuery.Invoke(context);
}
基本上你可以把这些编译查询您的DbContext
类,然后使用using
语句调用它。
0
这正是你想要做的......你想创建一个仓库(也许在一个单独的项目中),这样分离和重用所有控制器中的所有数据访问代码......搜索“仓库模式“...
相关问题
- 1. 简单的ASP.NET数据库查询
- 2. Asp.net MVC 4数据库查询返回的sql查询。
- 3. 从单独的数据库中过滤数据库查询结果
- 4. Linq查询从ASP.NET MVC中获取数据库结果2
- 5. 查询数据库MVC 4
- 6. MVC 4查询数据库
- 7. ASP.Net和ASPNETBD(单独的数据库)
- 8. ASP.NET数据库连接和查询
- 9. 合并和单独的查询数据
- 10. CheckBoxList的ASP.Net MVC 3,从数据库
- 11. MVC模型中的数据库查询
- 12. ASP.NET MVC插入查询重复数据
- 13. 在单独的数据库中联合查询
- 14. 执行MySQL查询,访问Python中的单独数据库
- 15. PostgreSQL中单独表(同一数据库)上的并发查询
- 16. ASP.NET MVC - 数据库驱动菜单
- 17. ASP.NET-MVC4 - Linq查询数据库中的
- 18. 从ASP.NET应用程序中计数SQLClient数据库查询
- 19. 查询使用OData和asp.net MVC webapi针对NHibernate数据库
- 20. ASP.NET MVC 3数据库上下文查询
- 21. ASP.NET MVC - 在哪里把数据库查询
- 22. 从数据库SQL查询
- 23. SQL查询从数据库
- 24. 从单独的类的数据库填充列表视图
- 25. Rails 2.3单独记录所有数据库查询
- 26. 从ASP.NET MVC 4更新数据库
- 27. 从数据库检索图像ASP.NET MVC
- 28. ASP.NET MVC 3 - 如何从数据库
- 29. 使用asp.net查询(WordPress的)MySQL数据库或从wordpress发送数据到asp.net
- 30. ASP.NET MVC 2 - 避免重复查询数据库中的静态数据?
这会去哪里?在模型文件夹中的单独类中? –
@ScottSelby你可以把它放到你的DbContext类中,删除'using'语句并用'this'关键字替换'context'' – rexcfnghk
真的吗?我喜欢使用,因为它强制处理连接 –