2010-12-27 3 views
1

私は、サーバ層がDBを抽象化し、Linq to SQLを使用する2層プロジェクトでLinq to SQLを使用しています。 クライアント層でオブジェクトを作成し、サーバーに送信します。LinqからSQLオブジェクトへのIDのみの設定

Reporter(このタスクを報告した人)との関係を持つTaskがあるため、TaskにはReporter.IDへのFKであるReportedID列がデータベースにあります。

Linq抽象化では、My TaskにReporterプロパティとReportedIDプロパティがあります。

は、私がReportedIDを使用したい、新しいタスクを保存するには、私はこのコードを持っている:

//Populate the object with the info 
     Task task = new Task(); 
     task.Title = tbTitle.Text; 
     task.Description = tbDescription.Text; 
     task.Severity = ((Severity)lbSeverities.SelectedItem); 
     //the first state: "open" 
     task.StateID = 1; 

     //TODO - Set ReporterID 
     task.ReporterID = 1; 


     //Save the task 
     client.SaveTaskCompleted += new EventHandler<SaveTaskCompletedEventArgs>(client_SaveTaskCompleted); 
     client.SaveTaskAsync(App.Token, task); 

ので、オブジェクトが構築され、それがこのコードを使用して保存されているサーバーに送信されました:

public Task SaveTask(string token, Task task) 
    { 
     TrackingDataContext dataConext = new TrackingDataContext(); 

     //Saves/Updates the task 
     dataConext.Tasks.InsertOnSubmit(task); 
     dataConext.SubmitChanges(); 

     return task; 
    } 

問題は、私は例外を取得することである:「試行がレポーターとタスク間の関係を削除するためになされたが、関係者の外部キー(Task.ReporterID)のいずれかがnullに設定することはできません。 "。 Reporterプロパティを使用すると機能します。 私は何が間違っていますか?

は、私は私のコードでは、いくつかのrefactoryを作り、このエラーはもうない、 オスカー

答えて

0

、ありがとうございました。それは論理エラーかもしれませんが、私は何を正確に伝えることはできません。

関連する問題