Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改后无法获取数据库的添加字段_C#_Linq To Sql - Fatal编程技术网

C# 更改后无法获取数据库的添加字段

C# 更改后无法获取数据库的添加字段,c#,linq-to-sql,C#,Linq To Sql,我正在使用LINQtoSQL方法对数据库表进行操作。我遇到了一个问题,每当我向现有表中添加一个新列时,我必须从解决方案中删除该表的现有.dbml文件,然后必须再次添加以获得对最后添加的列的访问权 我尝试了重新构建项目和解决方案的方法,但仍然不起作用,迫使我执行上述不太明智的步骤 你能帮我解决这个问题吗?或者,这是通过再次添加.dbml文件获得更改的唯一方法。LINQ to SQL基于从数据库模式生成代码。每当模式更改时,需要重新生成执行此操作的任何DAL。期待这种行为是完全“合理的”。因此,有没

我正在使用LINQtoSQL方法对数据库表进行操作。我遇到了一个问题,每当我向现有表中添加一个新列时,我必须从解决方案中删除该表的现有.dbml文件,然后必须再次添加以获得对最后添加的列的访问权

我尝试了重新构建项目和解决方案的方法,但仍然不起作用,迫使我执行上述不太明智的步骤


你能帮我解决这个问题吗?或者,这是通过再次添加.dbml文件获得更改的唯一方法。

LINQ to SQL基于从数据库模式生成代码。每当模式更改时,需要重新生成执行此操作的任何DAL。期待这种行为是完全“合理的”。因此,有没有可能重新生成XML而不是执行上述过程?它不仅是XML,也是静态编译的代码。在代码存在之前无法使用它,因此需要重新生成它。如果VS不提供此选项,那么可能有一个工具或扩展可以实现这一点,即右键单击DBML并选择要重新生成的选项,这会将过程减少到两次单击。但是不,您不能消除重新生成代码的过程。这能实现什么呢?如果它是在构建时自动生成的,那么您仍然需要重新构建,以引用代码中的更改。所以仍然会有中间步骤。