小编典典

使用LINQ to SQL时,这是否是虚假警告?

sql

根据我所看到的LINQ的许多示例,我正在使用类似于以下代码的代码创建自己的数据上下文和表:

class MyDatabase : DataContext {
  public Table<Widget> Widgets;
  public Table<Car> Cars;

  public MyDatabase (string connection) : base(connection) { } 
}

但是对于每个表(小部件,汽车等),我都会得到警告 字段’TableName’从未分配
。我在Google上找不到任何也存在此问题的人。我不觉得我做错了什么,因为我只是复制从不同地方看到的LINQ示例。那么这个警告是怎么回事呢?它警告我一个真正的问题吗?还是我错过了什么?


阅读 128

收藏
2021-04-28

共1个答案

小编典典

是的,他们是虚假的。*

在关于DataContext工作方式的另一个问题中,我们了解到的构造函数DataContext在运行时使用反射来填充字段。因此,Visual
Studio会根据其在编译时所掌握的知识为您提供警告。它不知道最终这些字段在被使用之前就已被填充。

*答案基于在SO上找到的其他人的评论。甚至可能是错误的!

2021-04-28