当前位置: 首页 > 面试题库 >

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

孙成益
2023-03-14
问题内容

根据我所看到的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会根据其在编译时所掌握的知识为您提供警告。它不知道最终这些字段在被使用之前就已被填充。

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



 类似资料:
  • 问题内容: Java的Object.wait()警告“虚假唤醒”,但C#的Monitor.wait()似乎根本没有提及。 了解Mono是如何在Linux之上实现的,并且Linux具有虚假的唤醒功能,难道不应该在某个地方对此进行记录吗? 问题答案: Joe Duffy的“Windows并行编程”中提到了这一点(P311-312,P598)。这一点很有趣: 请注意,在以上所有示例中,线程必须对所谓的虚

  • 问题内容: 看到各种与锁定相关的问题,并且(几乎)总是发现“由于虚假唤醒而引起的循环” 1我想知道,有人经历过这种唤醒(例如,假设硬件/软件环境不错)吗? 我知道“虚假”一词没有明显的原因,但是发生此类事件的原因可能是什么? (1注意:我不是在问循环练习。) 编辑:一个帮助器问题(对于那些喜欢代码示例的人): 如果我有以下程序,并且运行它: 我该怎么做才能虚假地唤醒它,而不必永远等待随机事件? 问

  • 问题内容: 以下面的代码为例: 示例1:我猜他们是同一对象。每次引用时,Python都会复制该方法吗? 示例2:预期。 示例3:预期,因为它们是不同的对象。 示例4:为什么此输出与示例2不匹配? 问题答案: 范例1: 是一种 未绑定的方法 。这些在当今的Python中甚至都不存在,因此请认为这是无用的历史课程。 每次引用时,Python都会复制该方法吗? 是的,或多或少。这是通过描述符协议完成的。

  • 问题内容: PHP是否有像Java这样的虚拟机? 问题答案: 是。 与运行PHP的平台无关,这些脚本被编译为相同的字节码,并由Zend Engine运行。 与Java的区别在于,该编译后的代码通常不存储在单独的文件中,并且每次执行时都会重新编译脚本(但是,请参见操作码缓存)。

  • 买了个摄像头,说是philips的品牌。 插入电脑后,查看usb设备,得到 lsusb | rg cam Bus 001 Device 005: ID 0c45:6366 Microdia Webcam Vitade AF VID 号是0C45 ,美国的一家公司Microdia PID 号是6366 ,也是美国的品牌Webcam Vitade AF 完全没有飞利浦的影子,这是假货吧?

  • 问题内容: 我有两台不同的电脑,每台都有不同的时区。 在一台计算机上,,然后在两台计算机上打印以下命令:–>123456表示计算机1中中的数字。 第二次打印(尽管打印了硬编码)会在两台计算机上产生不同的打印结果。为什么? 问题答案: java.util.Date与时区无关。在javadoc中这么说。 你想要一个特定时区的东西吗?这是java.util.Calendar。 棘手的部分?当您打印这些内