0

名前が「tbltrackuser」でデザインの下にあるテーブルがあります」

Trackid (pk,identity)
Drafiid (bigint)
Userid (bigint)
Date (time)

特定のユーザーとドラフト ID に対して、このテーブルに linq を使用してレコードを挿入するのが初めてで、2 回以上は自動的にテーブルに挿入されません。

Trackid     draftid     userid      date
 1              20      user1       01-jan-13
 2              30      user1       02-jan-13
 4              20      user2       01-jan-13

たとえば、draftid=20、user=user1 の 03-jan-13 のレコードの下にシステムが自動的に挿入されない 01-jan-13 の前に挿入されているため

  Trackid       draftid     userid      date
    3       20      user1       03-jan-13 (not inserted automatically)
4

1 に答える 1

0

同じ TrackID、DraftID、および UserID を持つレコードの存在を確認する必要があります

tbltrackuser trackuser = new tbltrackuser();
trackuser.TrackID = 1;
trackuser.DraftID  = 20;
trackuser.UserID = "user1";
trackuser.Date = "01-jan-13";

DataClasses1DataContext dc = new DataClasses1DataContext();

var sameRecords = from tu in dc.tbltrackusers
             where tu.DraftID == trackuser.DraftID
             && tu.UserID == trackuser.UserID
             && tu.Date == trackuser.Date
             select tu;

if (sameRecords.Count() == 0) //if there is no same record then you can insert
{
    dc.tbltrackusers.InsertOnSubmit(trackuser);
    dc.SubmitChanges();
}
else
    MessageBox.Show("Such record already exists.");
于 2013-01-13T06:54:39.697 に答える