【发布时间】:2018-02-15 14:54:03
【问题描述】:
我已经搜索了几个小时,最接近修复它的是找到this 解决方案,但我似乎无法让它在我的项目中工作。
我正在尝试上传 .CSV 文件并将 .CSV 文件的内容添加到我的数据库中。 (我正在使用本地数据库)。当我上传文件时出现错误
System.ArgumentException: '不支持关键字:'元数据'。
从我提供的链接中的答案来看,问题是因为“您传递的字符串不是有效的数据库连接字符串,它是一个 EF 连接字符串,在其提供程序连接字符串参数中包含 SQL Server 连接字符串。”但我不确定如何解决这个问题。
我的连接字符串是:
<add name="MyDatabaseEntities" connectionString="metadata=res://*/Models.MyModel.csdl|res://*/Models.MyModel.ssdl|res://*/Models.MyModel.msl;provider=System.Data.SqlClient;provider connection string="data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\MyDatabase.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
这是我试图连接到数据库的控制器中的代码
string conString = ConfigurationManager.ConnectionStrings
["MyDatabaseEntities"].ConnectionString;
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(con))
{
//Set the database table name.
sqlBulkCopy.DestinationTableName = "dbo.Orders";
谁能告诉我如何解决这个问题,非常感谢任何帮助。
【问题讨论】:
-
跟 MySQL 有什么关系?
-
更准确地说,它是 edmx 文件的 EF 数据库第一个连接字符串。你可以去掉所有的“metadata=...”,里面有一个普通的编码连接字符串。
-
链接的答案告诉你错误的含义。要修复它,您需要为您的数据库提供有效的连接。网络上对此进行了广泛的介绍。
-
@StephenKennedy 你是否建议删除“metadata=res://*/Models.MyModel.csdl|res://*/Models.MyModel.ssdl|res://*/Models.MyModel .msl;provider=System.Data.SqlClient;provider" 来自现有的连接字符串?
标签: c# .net sql-server ado.net