0

エラー:型 INT を暗黙的に変換できませんか? モデル化するために、データベースプロファイルと記事に2つのテーブルがあります...誰かがプロファイルを持たずに私のページに記事を作成する と、両方が共通のフィールドプロファイルIDを共有します.NULLのプロファイルIDを受け取りますが、そこでプロファイルを作成するとi profileID を NULL から、プロファイルの登録から取得した現在の ID に更新しようとしています。INT型を暗黙的に変換できませんか? というメッセージが表示されます。モデル化するために、私は新しいことを試みてきましたが、そのエラーが発生し続けます

var oldID = (from x in db.Articles
             where a == x.RegistrationID
             select x.ProfileID).FirstOrDefault();

Article article;

var newID = (from x in db.profiles
             where a == x.registrationID
             select x.profileID).FirstOrDefault();

oldID = newID;
article = oldID;
db.Entry(article).State = EntityState.Modified;

article=oldID行でエラーが発生します。

4

2 に答える 2

0

最初の LINQ 式を実行した後、変数はインスタンスのプロパティのoldID値を取得します。プロパティは何らかのタイプだと思います。article はクラスのインスタンスです。書くことで、数値型を別の型に設定しようとしています。それはうまくいきません!ProfileIDArticleProfileIDnumericArticlearticle=oldId;

おそらく、古いArticleオブジェクトを取得し、ProfileID プロパティ値を新しい値に設定してから保存する必要があります。

var oldArticle = (from x in db.Articles
             where a == x.RegistrationID
             select x).FirstOrDefault();

var newID = (from x in db.profiles
             where a == x.registrationID
             select x.profileID).FirstOrDefault();

oldArticle.ProfileID=newID;

db.Entry(article).State = EntityState.Modified;
于 2012-09-08T02:16:15.010 に答える
0

Article呼ばれるプロパティを持つクラス(私は推測しています)ProfileIDはタイプのようintです。article型の変数をArticleという変数に割り当てるとoldId、コンパイラは型の不一致を引き起こします。

C# は厳密に型指定された OO プログラミング言語であることに注意してください。オブジェクト指向プログラミングのルールに従う必要があります。

Jeremy と David のコメントを参照し、さらにアドバイスが必要な場合は質問を更新してください。

于 2012-09-08T00:52:29.677 に答える