在模型中使用LINQ查询(MVC)

时间:2012-05-31 08:32:04

标签: c# asp.net asp.net-mvc linq controller

我正在创建一个Web应用程序,是否可以在Model中使用LINQ查询,而不是在Controller中使用它?

由于

2 个答案:

答案 0 :(得分:1)

是的,您可以在模型中使用LINQ查询。

以下是一个例子:

using System.Linq;
using System.Linq.Expressions;
.
.
.
public class PostRepository
{
    DataClassesDataContext db = new DataClassesDataContext();

    public IQueryable<Post> FindByParentId(int parentId)
    {
        return from post in db.Posts
               where post.ParentID == parentId
               select post;
    }

答案 1 :(得分:1)

我建议您在存储库类中使用LINQ查询。

然后在控制器中使用Repository方法。

假设我有一个名为“CreateRepository”的存储库类,这是我的Createcontroller:

 public class CreateController : Controller
    {
        CreateRepository CreateRepository = new CreateRepository();

        public ActionResult Index()
        {
            var ListOfAllUserNames = CreateRepository.GetAllUserNames();

            // etc etc 
            return View();
        }

这是我的CreateRepository类:

public class CreateRepository
 {   

   public List<User> GetAllUserNames()
       {
          return db.User.OrderBy(f => f.Username).ToList();
       }
 }

这是我上面提到的一个例子。