Asp.net mvc ASP.NET MVC中的多数据库
我是第一个体验ASP.NETMVC的人,读完几篇文章后,我决定用MVC来尝试我的新项目 我使用ADO.net实体数据模型,创建了Create/Delete/Details/Edit/Index。它很好用。 所以我计划改进用户界面,因为一些字段来自另一个数据库,如HR数据库等。。。以获取员工信息 例如:要在我的表格上选择员工姓名,我必须使用DropDownList,该数据来自另一个数据库,如上文所述的HR。我不知道如何在一个模型中访问差异数据库,在这里我问 然而,我尝试为另一个数据库创建一个模型,并尝试加入LinqAsp.net mvc ASP.NET MVC中的多数据库,asp.net-mvc,linq,asp.net-mvc-4,linq-to-entities,ado.net-entity-data-model,Asp.net Mvc,Linq,Asp.net Mvc 4,Linq To Entities,Ado.net Entity Data Model,我是第一个体验ASP.NETMVC的人,读完几篇文章后,我决定用MVC来尝试我的新项目 我使用ADO.net实体数据模型,创建了Create/Delete/Details/Edit/Index。它很好用。 所以我计划改进用户界面,因为一些字段来自另一个数据库,如HR数据库等。。。以获取员工信息 例如:要在我的表格上选择员工姓名,我必须使用DropDownList,该数据来自另一个数据库,如上文所述的HR。我不知道如何在一个模型中访问差异数据库,在这里我问 然而,我尝试为另一个数据库创建一个模型,
//
// GET: /ARS/
public ActionResult Index()
{
var employee = new List<EMPLOYEE>(chr.EMPLOYEEs);
var reqform = new List<RequestForm>(ars.RequestForms.Include(r => r.Genre));
var requestforms = from r in reqform
join e in employee on r.PrjDeptMgr equals e.EmployeeID
select new
{
r.FormID,
r.GenreID,
r.JobNo,
r.Description,
r.StartDate,
r.EndDate,
r.PrjDeptMgr,
r.IsAgreed,
r.Genre
};
//var requestforms = ars.RequestForms.Include(r => r.Genre);
return View(requestforms.ToList());
}
//
//获取:/ARS/
公共行动结果索引()
{
var employee=新列表(公司员工);
var reqform=新列表(ars.RequestForms.Include(r=>r.Genre));
var requestforms=来自reqform中的r
在r.PrjDeptMgr等于e.EmployeeID时加入e-in-employee
选择新的
{
r、 FormID,
r、 根里德,
r、 乔布,
r、 描述,
r、 开始日期,
r、 结束日期,
r、 PrjDeptMgr,
r、 我贪婪,
r、 体裁
};
//var requestforms=ars.requestforms.Include(r=>r.Genre);
返回视图(requestforms.ToList());
}
但我犯了这个错误
传入字典的模型项的类型为“System.Collections.Generic.List1[f_uAnonymousType2
9[System.Int32,System.Int32,System.String,System.DateTime,System.DateTime,System.String,System.Boolean,Access_Request_System.Models.Gene],但此词典需要类型为“System.Collections.Generic.IEnumerable”1[Access\u Request\u System.Models.RequestForm]的模型项
真的不知道这个案子。。。求你了 视图文件需要
IEnumerable
,但您要传递的类型与所需类型不匹配(它是匿名的
)
尝试以下更改
List<RequestForm> requestforms = (from r in reqform
join e in employee on r.PrjDeptMgr equals e.EmployeeID
select new RequestForm
{
FormID = r.FormID,
Genre = r.GenreID,
JobNo = r.JobNo,
Description = r.Description,
StartDate = r.StartDate,
EndDate = r.EndDate,
PrjDeptMgr = r.PrjDeptMgr,
IsAgreed = r.IsAgreed,
Genre = r.Genre
}).ToList();
return View(requestForms);
List requestforms=(来自reqform中的r
在r.PrjDeptMgr等于e.EmployeeID时加入e-in-employee
选择新的请求表单
{
FormID=r.FormID,
流派=r.GenreID,
JobNo=r.JobNo,
描述=r.描述,
起始日期=r.起始日期,
EndDate=r.EndDate,
PrjDeptMgr=r.PrjDeptMgr,
IsAgreed=r.IsAgreed,
体裁
}).ToList();
返回视图(请求表单);
你的意思是我需要使用ViewModel,对吗?如果是这样,我如何在EditTemplate中使用dropdownlist,例如:想将ddl用于PrjDeptMgr并绑定到另一个db,谢谢您的回答…使用view()
传递给视图的值是您的视图模型。您可以使用视图文件中指定的视图模型类型。您传递给它的值(List
)不正确。下拉列表需要以某种方式填充(由您决定)。我不知道编辑模板支持AFAIK下拉列表。