0

以下のコード:

Mailinglists_Details _addMail_Details = new Mailinglists_Details();
_addMail_Details.listname = mailingData[counter].listname;
_addMail_Details.usage = mailingData[counter].usage;
_addMail_Details.responsible = mailingData[counter].responsible;

db.AddToMailinglists_Details(_addMail_Details);
db.SaveChanges();

あなたが自分でコードから見るかもしれないように:Entities db = new Entities()

AddToMailinglists_Details(obj)AddObject("Mailinglists_Details", obj) 明確にするためのショートカットです:

[global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
public void AddToMailinglists_Details(Mailinglists_Details mailinglists_Details)
{
this.AddObject("Mailinglists_Details", mailinglists_Details);
}

奇妙なことに、まったく同じ構文を使用してダミーレコードを作成すると機能します。ダミーレコードとの唯一の違いは、エンティティが明示的に宣言されており、usingステートメントでは宣言されていないことです。これにより、問題が発生する可能性がありますか?(アセンブリを使用した同じ内部の比較が機能したことに注意してください!!)

編集:さらに明確にするために、私がアクセスしているテーブルは完全に独立しています。ここでは、ダミーデータがどのように生成されるかについてのコードを取得しました。

    Mailinglists_Details _addDetails_Mail = new Mailinglists_Details();
    _addDetails_Mail.listname = "apprentices@domain.com";
    _addDetails_Mail.usage = "Contact all apprentices @enterprise";
    _addDetails_Mail.responsible = "default responsible: some ppl";

    ent_mail.AddToMailinglists_Details(_addDetails_Mail);
    ent_mail.SaveChanges();

私も試しましたmailingData[counter].listname.ToString();

EDIT2:mailingDataはList<customClass>、カスタムクラスは4つのプロパティを拡張します:listname(string)、usage(string)、responsible(string)、recipients(string [])

4

2 に答える 2

0

Mailinglists_Detailsが別のエンティティに依存している場合は、たとえば、MailingList 1-> * MailingListDetailsリレーションがあることを考慮して、ナビゲーションプロパティを使用して入力する必要があります。この場合、あなたは置く必要があります MailingListDetails.MailingList = mailingListObject;

于 2013-01-17T11:05:18.590 に答える
0

db.MalingLists.Add(_addMail_Details);の呼び出しの代わりに試してくださいdb.AddToMailinglists_Details-作成したメソッドに問題がある可能性があります。

于 2013-01-17T10:46:12.980 に答える