【发布时间】:2017-08-30 08:47:20
【问题描述】:
我要做的是逐行读取数据库,并使用每行中的数据来初始化数据表示的类型的对象。在这种情况下,我正在读取 Device 表的行并尝试使用该数据创建 Device 对象。我看到了这个SO link:
我尝试了这个 sn-p:
using(var dc = new DataContext(connectionString))
{
List<Person> people = dc.ExecuteQuery(@"
SELECT Id, Name Address
FROM [People]
WHERE [Name] = {0}", name).ToList(); // some LINQ too
}
但它告诉我
无法从用法中推断出此用法的类型参数
这原则上是正确的还是我应该使用 BondIO 序列化器/解串器?如上所述here
另外,对象中成员的顺序可能与数据库中列的顺序不一样,这有关系吗?
当天晚些时候......
我现在有一个 DBContext,我的所有数据库对象都是这样定义的:
public class MyContext : DBContext
{
public dbSet<Device>{ get; set;}
etc...
}
我现在尝试使用这个 sn-p 获取对象:
using (var db = new MyContext(ConnectionString))
{
var res = db.Device.Find(ID);
}
但是这会给出异常消息
无法加载类型'System.Data.Entity.ModelConfiguration.Conventions.AttributeToColumnAnnotationConvention`2
我检查了数据库,它应该根据我传递的 PrimaryKey ID 返回 1 个值。任何人都有任何提示我仍然做错了什么。
【问题讨论】:
标签: c# sql entity-framework serialization