0

基本的にエンティティ フレームワーク 4.5、c# 4.0。Sql サーバー 2008.

新しいレコードを作成してテーブルに挿入しようとしましたが、データベースをチェックしても何も変わりませんでした。なんで?

public DbSet<IxDetails> IxDetailRecords { get; set; }
IxContext ixContext = new IxContext();

var list = (from Ix in ixContext.IxDetailRecords
                   select Ix).ToList();
for (int k = 0; k < 100; k++)
{
       IxDetails ix = ixContext.IxDetailRecords.Create();
       ix.EnteredBy = "";// current user;
       ix.EntryDate = DateTime.Now;
       ix.FacilityID = facility;
       ix.FirstName = "";
       list.Add(ix);
 }
 ixContext.SaveChanges();
4

3 に答える 3

0

Code first メソッドは次のようになります。

public class YourDatabaseContext : DbContext
{
    public DbSet<IxDetails> IxDetailRecords { get; set; }
}

public class DataLoader
{    
    public void AddRecords()
    {
        using (var db = new YourDatabaseContext())
        {
            var newRecord = new IxDetailRecord {... };
            db.IxDetailRecords.Add(newRecord);
            db.Save();
        }
    }
}
于 2012-11-14T18:48:56.683 に答える
0

これを試して:

public DbSet<IxDetails> IxDetailRecords { get; set; }
IxContext ixContext = new IxContext();

for (int k = 0; k < 100; k++)
{
       IxDetails ix = ixContext.IxDetailRecords.Create();
       ix.EnteredBy = "";// current user;
       ix.EntryDate = DateTime.Now;
       ix.FacilityID = facility;
       ix.FirstName = "";
       ixContext.IxDetailRecords.Add(ix);
 }
 ixContext.SaveChanges();
于 2012-11-14T18:41:04.203 に答える
0

データベースクエリを表す実際のコレクションではなく、結果で返されるリストにアイテムを追加していました。

のメソッドをixContext.IxDetailRecords見ると、Attachメソッド (またはプロバイダーによっては、これらの線に沿ったもの) が表示されるはずです。これを使用して、新しく作成されたアイテムをデータベース コンテキストにアタッチします。

于 2012-11-14T18:36:18.363 に答える