Entity framework 在c#实体框架中获取多个列的Linq查询
我想从linq查询中获得3列,我想在我的viewbag中放入3列值 这是我的控制器代码Entity framework 在c#实体框架中获取多个列的Linq查询,entity-framework,linq,asp.net-mvc-4,Entity Framework,Linq,Asp.net Mvc 4,我想从linq查询中获得3列,我想在我的viewbag中放入3列值 这是我的控制器代码 public ActionResult Create(ModelName ObjectName) { DocumentDeleteBAL DALObject = new DocumentDeleteBAL(); int client_id = Convert.ToInt32(ModelName.client_id); int emp_id = Convert.ToInt32(Model
public ActionResult Create(ModelName ObjectName)
{
DocumentDeleteBAL DALObject = new DocumentDeleteBAL();
int client_id = Convert.ToInt32(ModelName.client_id);
int emp_id = Convert.ToInt32(ModelName.emp_id);
int empcitizen_id = Convert.ToInt32(ModelName.empcitizen_id);
var tm = DALObject.GetDetails(client_id, emp_id, empcitizen_id);
return View(ObjectName);
}
这是我的DAL代码
public List<ModelName> GetDetails(int client_id,int emp_id,int empcitizen_id)
{
List<ModelName> del = (from c in db.ModelName
where c.clientid == client_id
&& c.employeeid == emp_id
&& c.empcitizenid == empcitizen_id
select c).ToList();
return del;
}
您已经获得了完整的详细信息,您所需要做的就是获取第一个对象(从您的收藏中),因为它将返回
List
,并将您的ViewBag设置为如下所示:-
var tm = docdel.GetDetails(client_id, emp_id, empcitizen_id).FirstOrDefault();
if(tm != null)
{
ViewBag.Clientname = tm.Clientname;
..and so on
}
如果GetDetails只返回单个对象
public ModelName GetDetails(int client_id,int emp_id,int empcitizen_id)
{
ModelName del = (from c in db.ModelName where c.clientid == client_id && c.employeeid == emp_id && c.empcitizenid == empcitizen_id select c).ToList();
return del;
}
在控制器中
var tm = docdel.GetDetails(client_id, emp_id, empcitizen_id);
tm包含您的模型。那么
viewbag. Clientname=tm. Clientname
viewbag.employee name=tm.employee name
viewbag.nationality=tm.nationality
离题,但请对你的名字做点什么。我已经很可怜那个在你之后必须维护代码的家伙了:(让我知道你还有任何顾虑。我想返回客户名称、emp名称、国籍,我想将详细信息复制到viewbag。你的“GetDetails”方法返回列表对象或满足你参数的单个对象。?是的,我不知道firstordefault()…工作正常
viewbag. Clientname=tm. Clientname
viewbag.employee name=tm.employee name
viewbag.nationality=tm.nationality