linq中的映射对象(asp.net)

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

我想映射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.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]