0
public class SqlProductsRepository : IProductsRepository
{
   private Table<Product> productsTable;
   public SqlProductsRepository(string connectionString)
   {
       **productsTable = (new DataContext(connectionString)).GetTable<Product>();
   }
   public IQueryable<Product> Products
   {
       get { return productsTable; }
   }
}

这是来自 pro asp.net 书籍的 SportsStore 示例(这里是源代码的github 链接)。当我运行代码时,它显示 system.ArgumentException 错误。谁能告诉我这个错误到底是什么,我该如何解决? 错误显示在粗体区域。

错误:不支持关键字:元数据”

连接字符串:

SQL存储库:

公共类 SqlProductsRepository : IProductsRepository { 私有表 productsTable;

  public SqlProductsRepository(string connectionString)
   {
       productsTable = (new DataContext(connectionString)).GetTable<Product>();
   } 

   public IQueryable<Product> Products
   {
       get { return productsTable; }
   }
4

1 回答 1

0

很可能,connectionString 设置不正确。

设置后立即解析连接字符串。如果在解析时发现语法错误,则会产生运行时异常,例如 ArgumentException。只有在尝试打开连接时才能发现其他错误。

此处提供更多信息:http: //msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx

于 2011-03-16T14:58:28.730 回答