根据我所看到的LINQ的许多示例,我正在使用类似于以下代码的代码创建自己的数据上下文和表:
class MyDatabase : DataContext { public Table<Widget> Widgets; public Table<Car> Cars; public MyDatabase (string connection) : base(connection) { } }
但是对于每个表(小部件,汽车等),我都会得到警告 字段’TableName’从未分配 。我在Google上找不到任何也存在此问题的人。我不觉得我做错了什么,因为我只是复制从不同地方看到的LINQ示例。那么这个警告是怎么回事呢?它警告我一个真正的问题吗?还是我错过了什么?
是的,他们是虚假的。*
在关于DataContext工作方式的另一个问题中,我们了解到的构造函数DataContext在运行时使用反射来填充字段。因此,Visual Studio会根据其在编译时所掌握的知识为您提供警告。它不知道最终这些字段在被使用之前就已被填充。
DataContext
*答案基于在SO上找到的其他人的评论。甚至可能是错误的!