我正在使用 linq-to-sql 从我的数据库中获取数据。我想更改表的名称并更改 2 列的名称。我知道该怎么做,但问题是我已经针对该表编写了几个查询,如果我更改数据库,查询也需要更改。
有没有办法在不必重做查询和数据上下文的情况下对数据库进行更改?
谢谢。
我正在使用 linq-to-sql 从我的数据库中获取数据。我想更改表的名称并更改 2 列的名称。我知道该怎么做,但问题是我已经针对该表编写了几个查询,如果我更改数据库,查询也需要更改。
有没有办法在不必重做查询和数据上下文的情况下对数据库进行更改?
谢谢。
至少您需要更新实体和数据库之间的映射(表名、列名)。您的所有查询仍然是相同的。
更新将来自 Visual Studio ORM Designer(如果您正在使用)
[或者]
在 Datacontext 中具有属性。
[Table(Name="UpdatedName")]
和[Column(Name="UpdatedName")]
您也可以调用Stored-Proc
from LinQ
。在您的存储过程中编写查询以更改Schema
并最终Proc
从LINQ
.
如果它是只读查询,您还可以使用旧名称向数据库添加视图。
但是,如果只是几个查询,Visual Studio 会很快告诉您在哪里进行适当的更改(毕竟 Linqs2sql 是强类型的)。我建议您只更改所有查询和数据上下文,因为从长远来看,它会更清楚发生了什么。