System.ArgumentException:'不支持关键字:'元数据'

时间:2018-02-15 14:54:04

标签: c# .net sql-server ado.net

我一直在寻找几个小时,而我最接近修复它的是找到this解决方案,但我似乎无法让它在我的项目中工作。

我正在尝试上传.CSV文件并将.CSV文件的内容添加到我的数据库中。 (我正在使用本地数据库)。当我上传文件时出现错误

  

System.ArgumentException:'不支持关键字:'元数据'。

从链接中的答案我提供的问题是因为"您传递的字符串不是有效的数据库连接字符串,它是一个EF连接字符串,其中包含SQL Server连接字符串provider连接字符串参数。"但我不知道如何解决这个问题。

我的连接字符串是:

<add name="MyDatabaseEntities" connectionString="metadata=res://*/Models.MyModel.csdl|res://*/Models.MyModel.ssdl|res://*/Models.MyModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\MyDatabase.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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"; 

有人可以告诉我如何解决这个问题,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

只需使用

为web.config添加新的连接字符串即可
<add name="SqlConnectionString" connectionString="data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\MyDatabase.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" />

使用新的连接字符串。

string conString = ConfigurationManager.ConnectionStrings
    ["SqlConnectionString"].ConnectionString;
    using (SqlConnection con = new SqlConnection(conString))
    {
    using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(con))
    {
    //Set the database table name.
    sqlBulkCopy.DestinationTableName = "dbo.Orders";