Windows phone 7 未创建数据库(sql ce)表

Windows phone 7 未创建数据库(sql ce)表,windows-phone-7,sql-server-ce,Windows Phone 7,Sql Server Ce,我正在为我的参考数据库创建助手应用程序。下面是db的代码 public class DayNameDataContext : DataContext { public static string DBConnectionString = "Data Source=isostore:/imieniny.sdf;"; public ImieninyDataContext(string connectionString) : base(connectionString) { }

我正在为我的参考数据库创建助手应用程序。下面是db的代码

public class DayNameDataContext : DataContext
{
    public static string DBConnectionString = "Data Source=isostore:/imieniny.sdf;";
    public ImieninyDataContext(string connectionString) : base(connectionString) { }
    public Table<DayName> DayNameTable;
}

[Table]
public class DayName
{
    [Column(DbType = "INT NOT NULL IDENTITY", IsDbGenerated = true,IsPrimaryKey = true, AutoSync = AutoSync.OnInsert)]
    public int Id { get; set; }

    [Column(DbType = "DATETIME NOT NULL")]
    public DateTime Data { get; set; }

    [Column(DbType = "NVarChar(30) NOT NULL")]
    public string Name { get; set; }
}

当我将db从独立存储复制到桌面并在sql managament studio中打开它时,我没有创建任何表。我不需要任何数据绑定。

我查看了Linq到SQL生成的数据库代码,发现生成的代码与您的代码有一个很大的区别

我的DataContext包含一个表属性,而不是一个表变量,这可能是导致问题的原因

还有这句话:

private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();

    #region Extensibility Method Definitions
    partial void OnCreated();
    partial void InsertHeighscores(Heighscores instance);
    partial void UpdateHeighscores(Heighscores instance);
    partial void DeleteHeighscores(Heighscores instance);
    #endregion

        public HeighScoresDataContext(string connection) : 
                base(connection, mappingSource)
        {
            OnCreated();
        }
我的表还有一些额外的行,包括构造函数和可扩展性方法定义:

#region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIdChanging(int value);
    partial void OnIdChanged();
    partial void OnDifficultyChanging(int value);
    partial void OnDifficultyChanged();
    partial void OnFieldSizeChanging(int value);
    partial void OnFieldSizeChanged();
    partial void OnTimeChanging(int value);
    partial void OnTimeChanged();
    #endregion

        public Heighscores()
        {
            OnCreated();
        }

请在我的评论中尝试我的建议尝试卸载你的应用程序,并为我重新部署。一旦问题得到解决。

那么你的数据库已创建,但表未创建?您可以尝试卸载程序并再次尝试部署它。对我来说,这有一次帮助很大。
#region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIdChanging(int value);
    partial void OnIdChanged();
    partial void OnDifficultyChanging(int value);
    partial void OnDifficultyChanged();
    partial void OnFieldSizeChanging(int value);
    partial void OnFieldSizeChanged();
    partial void OnTimeChanging(int value);
    partial void OnTimeChanged();
    #endregion

        public Heighscores()
        {
            OnCreated();
        }