数据库
首页 > 数据库> > 使用LINQ to SQL时,这是否是虚假警告?

使用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