【发布时间】:2021-11-25 18:01:11
【问题描述】:
我编写了一个使用 LocalDb 的 WPF 程序。该程序与|DataDirectory|完美配合。
var sqlConnectionStringBuilder = new SqlConnectionStringBuilder
{
DataSource = @"(LocalDB)\MSSQLLocalDB",
AttachDBFilename = $"|DataDirectory|\\Lc Db {userName}.mdf",
IntegratedSecurity = true
};
我从 .net46 升级到 .net5,但我仍然使用 EF 而不是 EF.Core。现在我在第一次到达数据库时遇到了这个异常:Invalid value for key 'attachdbfilename'。如果我使用绝对路径,那么我可以到达 Db。
var sqlConnectionStringBuilder = new SqlConnectionStringBuilder
{
DataSource = @"(LocalDB)\MSSQLLocalDB",
AttachDBFilename = $"AttachDBFilename = @"c:\Users\xyz\Documents\LedgerCommander\LedgerCommander\bin\Debug\net5.0-windows\Lc Db Heckl.mdf"",
IntegratedSecurity = true
};
【问题讨论】:
-
也许您可以尝试使用 Microsoft.Data.SqlClient 的 ErikEJ.EntityFramework.SqlServer ?
-
感谢@ErikEJ 我安装了nuget,更改了使用,将属性添加到dbContext。现在出现错误“'EntityFramework.SqlServer 和'ErikEJ.EntityFramework.SqlServer 中都存在'SqlFunctions' 类型”。我以为我应该删除 nuget EntityFramework.SqlServer 但实际上没有这样的 nuget 只有 EntityFramework。有什么想法吗?
-
有意思,能分享一下你是如何在 Github 上使用 SqlFunctions 的吗?
-
亲爱的@ErikEJ 这是link。我创建了一个替换 Db 视图的方法。据我了解,此编译错误意味着
SqlFunctions现在位于两个程序集中。我尝试使用解决方案资源管理器删除旧程序集。 -
很可能是一个错误,将进行调查
标签: entity-framework connection-string .net-5 localdb