Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何使用具有LINQ to图元的视图模型_Asp.net Mvc_Entity Framework_View_Model_Linq To Entities - Fatal编程技术网

Asp.net mvc 如何使用具有LINQ to图元的视图模型

Asp.net mvc 如何使用具有LINQ to图元的视图模型,asp.net-mvc,entity-framework,view,model,linq-to-entities,Asp.net Mvc,Entity Framework,View,Model,Linq To Entities,我是ASP.NET MVC新手,但我似乎不理解有关视图模型的规则。我在这里展示的例子肯定与来自不同来源的其他例子相似,所以我完全不知所措 我首先在VS 2013 MVC 5上使用了Entity Framework 6的代码,并创建了以下两个模型 public class Task { public int TaskId { get; set; } public int UserId { get; set; } public Stri

我是ASP.NET MVC新手,但我似乎不理解有关视图模型的规则。我在这里展示的例子肯定与来自不同来源的其他例子相似,所以我完全不知所措

我首先在VS 2013 MVC 5上使用了Entity Framework 6的代码,并创建了以下两个模型

    public class Task
    {
        public int TaskId { get; set; }
        public int UserId { get; set; }
        public String Title { get; set; }
        public String Description { get; set; }
        public DateTime StartDate { get; set; }
        public DateTime EndDate { get; set; }

        public virtual User User { get; set; }

    }



    public class User
    {
        public int UserId { get; set; }
        public String UserName { get; set; }
        public String Password { get; set; }
        public String FullName { get; set; }
        public String Email { get; set; }
        public String Status { get; set; }
        public String Role { get; set; }
        public virtual ICollection<Task> Tasks { get; set; }

    }

dbcontext中不应该有viewmodel。这只是一个viewModel,与实体完全不同

public System.Data.Entity.DbSet<FRESH.ViewModel.ManageTasksViewModel> 
      ManageTasksViewModels { get; set; }
public System.Data.Entity.DbSet
ManageTasksViewModels{get;set;}

感谢所有在这方面给我时间帮助的人,基本上,我再次阅读了Contoso大学的教程,得到了答案,基本上,它与我的第一次尝试非常相似,只是我在尝试

选择“新建管理任务视图模型” { . . . };

而我应该说

选择新的ManageTasksViewModel() { . . . }

public class ManageTasksController : Controller { private FRESHContext db = new FRESHContext(); // GET: ManageTasks public ActionResult Index() { IQueryable<ManageTasksViewModel> query = from tasks in db.Tasks join users in db.Users on tasks.UserId equals users.UserId select new ManageTasksViewModel() { TaskId = tasks.TaskId, UserId = users.UserId, FullName = users.FullName, Title = tasks.Title, Description = tasks.Description, StartDate = tasks.StartDate, EndDate = tasks.EndDate }; return View(query.ToList()); } 公共类ManagerTasksController:控制器 { private FRESHContext db=new FRESHContext(); //获取:管理任务 公共行动结果索引() { IQueryable query=来自db.tasks中的任务 在数据库中加入用户。任务上的用户。UserId等于users.UserId 选择新的ManageTasksViewModel() { TaskId=tasks.TaskId, UserId=users.UserId, FullName=users.FullName, Title=任务。Title, 描述=任务。描述, StartDate=tasks.StartDate, EndDate=tasks.EndDate }; 返回视图(query.ToList()); }
无论如何,希望这对某人有用。

详细说明,Hash是说从DbContext中删除这一行。好的,从上下文中删除了ManageTasksViewModel,尽管它自己神奇地出现在那里,lol。但仍然没有运气,有人知道初学者实体链接的好来源吗,我要下载“LINQ for Dummies”now、 别开玩笑! public class ManageTasksController : Controller { private FRESHContext db = new FRESHContext(); // GET: ManageTasks public ActionResult Index() { IQueryable<ManageTasksViewModel> query = from tasks in db.Tasks join users in db.Users on tasks.UserId equals users.UserId select new ManageTasksViewModel() { TaskId = tasks.TaskId, UserId = users.UserId, FullName = users.FullName, Title = tasks.Title, Description = tasks.Description, StartDate = tasks.StartDate, EndDate = tasks.EndDate }; return View(query.ToList()); }