ADO.NETエンティティデータモデルを作成し、linqを使用してOracleデータベースを更新/編集しました。
using (Entities ent = new Entities())
{
RUSHPRIORITYRATE rp = new RUSHPRIORITYRATE();
rp.RATE = rate;
var query = from j in ent.RUSHPRIORITYRATEs
select j;
List<RUSHPRIORITYRATE> list = query.ToList();
if (list.Count == 0)
{
ent.AddToRUSHPRIORITYRATEs(rp);
ent.SaveChanges();
}
else
{
foreach (RUSHPRIORITYRATE r in query)
{
r.RATE = rp.RATE;
}
ent.SaveChanges();
}
}
常に1つのレコードを持つテーブルを追加または更新するメソッドがあります。レコードの値は、1つのレコードが配置された場合にのみ更新されます。テーブルへの追加は問題ありませんが、MSDNを介してリコアを更新する方法を調べました。「ent」には、ソリューションに必要な「submitchanges」メソッドがないようです。これを実行すると、「プロパティ'RATE'はオブジェクトのキー情報の一部であり、変更できません。」というエラーが発生します。