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)、response(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 回答