データベースにレコードを挿入する機能があります。私はデータベースに重複したエントリがないことを確認したい。関数は、まずクエリ文字列パラメータがあるかどうかをチェックします。存在する場合、それは編集モード、そうでなければ挿入モードのように機能する。データベースに現在追加されているレコードを返す関数があります。データベースに挿入する前に、2つの列に基づいて重複をチェックする必要があります。コレクションでLINQを使用して複製を確認する
myService = new myService();
myFlow mf = new myFlow();
if (!string.IsNullOrEmpty(Request["myflowid"]))
{
mf = myService.Getmyflow(Convert.ToInt32(Request["myflowid"]));
}
int workcount = 0;
int.TryParse(txtWorkCount.Text, out workcount);
mf.Name = txtName.Text.Trim();
mf.Description = txtDescription.Text.Trim();
mf.FunctionCode = txtFunctioneCode.Text.Trim();
mf.FunctionType = txtFunctioneType.Text.Trim();
mf.WorkCount = workcount;
if (mf.WorkFlowId == 0)
{
mf.SortOrder = 0;
mf.Active = true;
mf.RecordDateTime = DateTime.Now;
message = "Saved Successfully";
}
else
{
_editMode = true;
message = "Update Successfully";
}
}
int myflowId = mfService.AddEditmyflow(mf);
私はfunctiontype
とfunctioncode
に基づいて重複を確認したいです。別の関数mfService.Getmyflows()
は、データベースに現在追加されているレコードを返すことができます。
Linqを使用して重複をチェックするにはどうすればよいですか?
I使用することをお勧めします[エンティティフレームワーク](https://msdn.microsoft.com/en-us/data/ ef.aspx)(理解しやすく、数百ものチュートリアル)を使用してデータベースとデータを処理します。また、DuplicateKeyExceptionがスローされ、捕捉される可能性があるデータベースでCompositeキーを使用できるとも言えます。 –