2011-12-29 18 views
1

参照データベース用のヘルパーアプリケーションを作成しています。ここで私はページロードイベントコードデータベース(sql ce)テーブルが作成されていません

DayNameDataContext im = new DayNameDataContext(DayNameDataContext.DBConnectionString); 
if (im.DatabaseExists() == false) 
{ 
    im.CreateDatabase(); 
} 

で持っていると私は分離ストレージからデスクトップにDBをコピーして、私はドンSQL managamentスタジオでそれを開いたときに、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; } 
} 

そして、私のアプリでのコードは」作成されたテーブルはありません。私はデータバインディングを必要としません。

+0

データベースは作成されていますが、テーブルは作成されていませんか?プログラムをアンインストールしてもう一度展開しようとするとよいでしょう。私にとっては一度だけ助けになりました。 – BigL

答えて

0

LinqからSQLに生成されたデータベースコードを見て、私は生成されたコードとあなたの大きな違いがあることに気付きました。

My 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(); 
     } 

をそして、あなたをアンインストールするために、私のコメントの試みで私の提案をしてみてください私のためにそれを再配置して、それは一度問題を修正しました。

関連する問題