如何让 LINQ-TO-SQL
类型提供程序生成或/和重新生成类?
我刚刚在我的数据库中添加了一个新表,但类型提供程序无法识别它。我尝试删除类型提供程序中的代码行,并重新输入 - 但没有成功。我还尝试过重新构建...仍然没有成功。
编辑:
我定义了类型提供程序如下:
[<Generate>]
type dbSchema = SqlDataConnection<"conString">
并且像这样使用:
let ctx = dbSchema.GetDataContext()
如何让 LINQ-TO-SQL
类型提供程序生成或/和重新生成类?
我刚刚在我的数据库中添加了一个新表,但类型提供程序无法识别它。我尝试删除类型提供程序中的代码行,并重新输入 - 但没有成功。我还尝试过重新构建...仍然没有成功。
编辑:
我定义了类型提供程序如下:
[<Generate>]
type dbSchema = SqlDataConnection<"conString">
并且像这样使用:
let ctx = dbSchema.GetDataContext()
你说得对 - 这似乎相当棘手。我在脚本文件中使用了 SqlDataConnection
类型提供程序,迄今为止我找到的更新模式的唯一方法是在连接字符串中进行一些微小(无关紧要)的更改。例如,在其中一个参数的=
后添加空格:
[<Generate>]
type Northwind = TypeProviders.SqlDataConnection
<"data source=.\\sqlexpress;initial catalog=Northwind;integrated security=True">
[<Generate>]
type Northwind = TypeProviders.SqlDataConnection
<"data source=.\\sqlexpress;initial catalog=Northwind;integrated security= True">
// ^ here
似乎使用连接字符串作为键来缓存模式,所以如果你将其改回去,就会再次得到旧的模式。我猜这可能是一个 bug,因此添加空格是一种可能的解决方法。
还有一个参数 ForceUpdate
,但它似乎没有任何效果,文档 没有多少说明。