linq中的映射对象(asp.net)
我想映射t和q,我怎么做?(在asp.net中) 我想得到t并将其映射到q以编辑记录linq中的映射对象(asp.net),asp.net,linq,Asp.net,Linq,我想映射t和q,我怎么做?(在asp.net中) 我想得到t并将其映射到q以编辑记录 public void EdittblUser(tblUser t) { var q = db.tblUsers.SingleOrDefault(u => u.userName == t.userName ); //mapping here dbconnect.submitchange(); } 像这样的事情: var user = dbconnect.tblUser
public void EdittblUser(tblUser t)
{
var q = db.tblUsers.SingleOrDefault(u => u.userName == t.userName );
//mapping here
dbconnect.submitchange();
}
像这样的事情:
var user =
dbconnect.tblUsers.SingleOrDefault(u => u.userName == _VOUser.Username);
if (user == null)
// throw exception
Mapper.Map(tbluser, user);
dbconnect.SubmitChanges();
return true;
试试这个:
public void EdittblUser(tblUser t)
{
var q = db.tblUsers.SingleOrDefault(u => u.userName == t.userName );
if(q==null)
// throw exception
q.Property1=t.Property1;
q.Property2=t.Property2;
// and so on
dbconnect.submitchange();
}
其中,Property1
,Property2
等是用户对象的属性。(例如,它们将是userId、userName等等)
编辑记录的另一种方法是通过以下方式使用AutoMapper:
// I suppose that you have made a reference of AutoMapper assembly in your project.
// Having done this then you should include it to your source file using the using
// statement
using AutoMapper;
public void EdittblUser(tblUser t)
{
Mapper.CreateMap<Model1, Model2>();
var q = db.tblUsers.SingleOrDefault(u => u.userName == t.userName );
q = Mapper.Map(Model1, Model2)(t);
dbconnect.submitchange();
}
你说你想要映射t和q是什么意思;请更具体地说明您想要什么,以便考虑它并为您提供一些帮助。您是说您想要将
t
的所有成员的值复制到q
的等效成员中吗?是的,完全正确。t和q是tbluserMapper.Map(tbluser,user)的相同对象;。。。。。我在我的项目中找不到此函数请尝试在此网站或搜索引擎中搜索“AutoMapper”。我知道,我不想编写此代码。我想使用AutoMapper自动执行此操作。但我不知道是什么automapper@SSC好的,给我几分钟时间看看你如何避免它。但是,我不明白你为什么不想这样做。@christopaisios.hi,我认为这是个好主意。我决定用这个。
[http://www.codeproject.com/Articles/639618/CRUD-Opearations-using-AutoMapper-in-an-MVC-Applic][1]