Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.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# 用于实体的linq从模型中隐藏列_C#_Sql Server_Linq - Fatal编程技术网

C# 用于实体的linq从模型中隐藏列

C# 用于实体的linq从模型中隐藏列,c#,sql-server,linq,C#,Sql Server,Linq,我使用linq for entities从SQL server读取和更新数据。该数据库是一个动态NAV数据库,每次有人更改数据库中的列时,都需要重新编译我的应用程序 是否可以从linq中忽略或隐藏实体数据库中的列,并且仍然可以让更新正常工作?假设一个表中有100列,当我更新一个值时,我只使用了10列–我希望剩余的90个值保留在行中 最好的方法是在数据库中创建自定义视图。如果希望能够从该视图中插入/更新/删除,可以在该视图上创建适当的触发器。Linq将像对待任何其他表一样对待视图 最好的方法是在数

我使用linq for entities从SQL server读取和更新数据。该数据库是一个动态NAV数据库,每次有人更改数据库中的列时,都需要重新编译我的应用程序


是否可以从linq中忽略或隐藏实体数据库中的列,并且仍然可以让更新正常工作?假设一个表中有100列,当我更新一个值时,我只使用了10列–我希望剩余的90个值保留在行中

最好的方法是在数据库中创建自定义视图。如果希望能够从该视图中插入/更新/删除,可以在该视图上创建适当的触发器。Linq将像对待任何其他表一样对待视图

最好的方法是在数据库中创建自定义视图。如果希望能够从该视图中插入/更新/删除,可以在该视图上创建适当的触发器。Linq将像对待任何其他表一样对待视图

你可以告诉那些在其中添加新列的人

  • 允许新列为null
  • 或者添加默认约束,以便为较新的行自动添加良好的默认值

  • 这两个选项中的任何一个都将允许linq正常工作

    您只需告诉向其中一个添加新列的人员即可

  • 允许新列为null
  • 或者添加默认约束,以便为较新的行自动添加良好的默认值

  • 这两种方法中的任何一种都能让linq正常工作

    好的建议–您的建议适用于新列,但不只是新列,其中一些列会被更改/删除。
    冻结后,在水上行走和根据数据库模式编码都会更容易
    。如果有人将主键从int修改为GUIDIt,则无法实现automagic LINQ或其他解决方案。GUIDIt不是被修改的主键,只是我的应用程序不使用的列。:)如果修改了应用程序中不使用的表,linq应能正常工作。应在linq设计器中从db中拖动表,并删除所有其他不打算使用的类属性。这样,您的表视图要小得多。现在,如果这些列具有默认值或允许空值。即使他们改变了他们的类型,它也会起作用好的建议——你的建议对新的栏目有效,但不仅仅是新的栏目,其中一些栏目会被更改/删除。
    在水上行走和根据数据库模式编码在冻结时都会更容易。
    。如果有人将主键从int修改为GUIDIt,则无法实现automagic LINQ或其他解决方案。GUIDIt不是被修改的主键,只是我的应用程序不使用的列。:)如果修改了应用程序中不使用的表,linq应能正常工作。应在linq设计器中从db中拖动表,并删除所有其他不打算使用的类属性。这样,您的表视图要小得多。现在,如果这些列具有默认值或允许空值。即使他们改变他们的类型,它也会起作用