Yog*_*hak 4 c# linq asp.net-mvc-4
我有一个STUDENT表对象,其中我有新值,我想用这些新值更新STUDENT表.我的代码是下面给出的(它用于将属性从STD复制到getdata但是)它没有更新数据库中STUDENT表中的值为什么?先感谢您.
public void UpdateStudent(STUDENT STD)
{
context = new ERPDataContext();
var getdata = context.STUDENTs.SingleOrDefault(obj=>obj.ID==STD.ID);
getdata = STD;
context.SubmitChanges();
}
Run Code Online (Sandbox Code Playgroud)
你可以在这里使用反射.不确定它是否能彻底解决您的问题.使用反射也可能是一种过度杀伤,所以请检查性能.
我使用了一个虚拟类"A"来解释如何使用它.看看它,让我知道它是否有效.
public class A
{
public string aField { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
代码是:
A obj1 = new A();
A obj2 = new A();
obj1.aField = "aaa";
var propInfo = obj1.GetType().GetProperties();
foreach (var item in propInfo)
{
obj2.GetType().GetProperty(item.Name).SetValue(obj2, item.GetValue(obj1, null), null);
}
Run Code Online (Sandbox Code Playgroud)
当然,您需要添加命名空间:
using System.Reflection;
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.