如果我的连接字符串包含max database size关键字,为什么SQL Server Compact Edition不能打开现有的SDF文件?

时间:2013-06-03 16:36:39

标签: c# sql linq entity-framework sql-server-ce

我一直看到这个例外:

  

ex = {“不支持关键字:'最大数据库大小'。”}

当我尝试运行以下代码时(在LINQ查询行上抛出异常):

LogContext l = new LogContext(connectionString);
var v = from log in l.Logs select log;
count += v.Count();

LogContext类看起来像这样:

public class LogContext : DbContext
{
    public LogContext()
        : base()
    {
    }
    public LogContext(string connectionString)
        : base(connectionString)
    {
    }
    public DbSet<LogRecord> Logs { get; set; }
}

我的连接字符串包含Max Database Size属性。是否有理由抛出这个例外? SQL Server Compact Edition是否仅使用Max Database Size属性创建数据库并将此信息存储在本地文件或其他内容中,以便在此后指定此属性时无法连接到此文件?因为这在我创建新数据库时都有效。

1 个答案:

答案 0 :(得分:0)

设置DefaultConnectionFactory似乎对我有用:

  

Database.DefaultConnectionFactory = new   SqlCeConnectionFactory( “System.Data.SqlServerCe.4.0”);