Asp.net mvc ASP.NET MVC中的多数据库

Asp.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。我不知道如何在一个模型中访问差异数据库,在这里我问 然而,我尝试为另一个数据库创建一个模型,

我是第一个体验ASP.NETMVC的人,读完几篇文章后,我决定用MVC来尝试我的新项目

我使用ADO.net实体数据模型,创建了Create/Delete/Details/Edit/Index。它很好用。 所以我计划改进用户界面,因为一些字段来自另一个数据库,如HR数据库等。。。以获取员工信息

例如:要在我的表格上选择员工姓名,我必须使用DropDownList,该数据来自另一个数据库,如上文所述的HR。我不知道如何在一个模型中访问差异数据库,在这里我问

然而,我尝试为另一个数据库创建一个模型,并尝试加入Linq

//
    // 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.List
1[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下拉列表。