1

テーブルのレコードを更新して挿入する次の関数があります

public DASInput UpdateDASInputTable(DASInput fileSetData, Guid programID)
    {
        string connectionString = GetConnectionString(programID);
        BI_ProgramConfigurationEntities dataContext = new BI_ProgramConfigurationEntities(connectionString);

        dataContext.DASInputs.ApplyChanges(fileSetData);
        dataContext.SaveChanges(System.Data.Objects.SaveOptions.DetectChangesBeforeSave);
        fileSetData = dataContext.DASInputs.FirstOrDefault();

        return fileSetData;
    }

タイプDASInputの新しいオブジェクトで最初の呼び出しを行うと、データベースに正しく挿入されます。(DASInput テーブルの主キーは int であり、識別指定がオンになっています)。

しかし、この最初の挿入では、DASInput テーブルの主キーの変更された値は返されません。

したがって、後続の呼び出しごとに、新しいレコードがデータベースに挿入されます。レコードが挿入されたときに、主キー (DB によって生成された自己) をクライアントに返す必要があります。

4

1 に答える 1

0

次の行に沿って、linq 制御データベースにエンティティを追加するための構文ではありませんか。

context.Table.AddObject(newStore);
//or
context.Table.Add(newStore);

context.SaveChanges();

私はLINQについて非常に精通しているのではなく、暫定的にこれに答えます。

于 2012-05-14T12:05:28.610 に答える