2011-12-07 4 views
3

私はdatetime列を含む1つのテーブルをSQL Serverに持っています。私はSQLにLINQを使用します。アプリケーションが停止したときにSQL Serverのデータが削除されるのはなぜですか?

すべてのデータはテーブルに保存され、すべての結果が正しく取得されます。

しかし、実行を終了すると、テーブルにデータはなく、getall関数はnullを返します。

問題が見つかりません。

テーブルにデータを挿入するためのコードは次のとおりです。

public bool AddTime(WorkTime ToAdd) 
{ 
    try 
    { 
     _context.WorkTimes.InsertOnSubmit(ToAdd); 
     _context.SubmitChanges(); 
    } 
    catch (Exception) 
    { 
     return false; 
    } 
    return true; 
} 
+4

を構築する際に返却しないでください、あなたのデータベースを上書きしないように注意してください例外がスローされたかどうかによって例外がスローされるかどうかによって真または偽になります。どのように呼び出しコードが何がうまくいかなかったかを知っていると思われますか? –

+0

テーブルを間違って読んでいる、開いているトランザクションがbakをロールしているか、どこかにDELETEがあるかのいずれかです。データが消えない – gbn

+0

**あなたの接続文字列を見せてください!おそらく、あなたは 'AttachDbFileName = ....'と 'User Instance = true'をそこに持っています - それらはちょっと"捨て去った "アプローチになります。 –

答えて

5

はほとんどの場合、あなたはSQL ServerのExpress Editionのスタンドアロンのファイルを使用して、それは再配備取得されるたびに(出力フォルダにコピー)しますビルド。

オプション:

  • ではなく、スタンドアロンのファイルを使用するよりも、エンジン自体の内部データベースを登録、または
  • あなたは
+0

エンジンにDBを登録する方法についてもっと詳しく説明できますか? ? –

+0

@AvrahamshukあなたはSSMSを持っていますか(無料版がありますか?)もしそうなら、 '。\ SQLEXPRESS'(通常)に接続し、" Databases "を右クリックし、" Attach "を選択します。次に、そのデータソースを使用するように接続文字列を変更します –