使用LINQ to SQL时,这是否是虚假警告?
作者:互联网
根据我所看到的LINQ的许多示例,我正在使用类似于以下代码的代码创建自己的数据上下文和表:
class MyDatabase : DataContext {
public Table<Widget> Widgets;
public Table<Car> Cars;
public MyDatabase (string connection) : base(connection) { }
}
但是对于每个表(小部件,汽车等),我都会得到警告字段“ TableName”从未分配.我在Google上找不到任何也存在此问题的人.我不觉得我做错了什么,因为我只是复制从不同地方看到的LINQ示例.那么这个警告怎么了?它警告我一个真正的问题吗?还是我错过了什么?
解决方法:
是的,他们是虚假的.*
在this other question about how DataContext
works中,我们了解到DataContext的构造函数在运行时使用反射来填充字段.因此,Visual Studio会根据其在编译时所掌握的知识为您提供警告.它不知道最终这些字段在被使用之前就已被填充.
*答案基于在SO上找到的其他人的评论.甚至可能是错误的!
标签:linq-to-sql,linq,sql,c 来源: https://codeday.me/bug/20191210/2100704.html