从表中获取数据时未设置实体框架对象引用
command = "INSERT INTO clients VALUES(" + NameTB.Text +")";
objCtx.SaveChanges();
List<Client> clients = new List<Client>();
clients = objCtx.ExecuteStoreQuery<Client>("Select * from clients").ToList();
string x = "";
for (int i = 0; i < clients.Count; i++)
x += clients[i].Name.ToString();//exception here
MessageBox.Show(x);
我刚开始与EF合作,不知道如何解决这个问题。 我从这里拿了代码
听起来像返回的Client
数据中的Name
属性为null。
要么在数据库中有一个需要该字段的约束,要么添加一个空的检查:
string x = "";
for (int i = 0; i < clients.Count; i++) {
if (!String.IsNullOrEmpty(clients[i].Name)) {
x += clients[i].Name.ToString();
}
}
另外,如果你要与很多客户合作,并且你的字符串会变大,我建议你看看StringBuilder。
链接地址: http://www.djcxy.com/p/76287.html上一篇: Entity Framework object reference not set when getting data from table
下一篇: create primary key on existing table without primary key in SQL Server