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(字符串),usage(字符串),负责(字符串),recipients(string [])
答案 0 :(得分:0)
尝试db.MalingLists.Add(_addMail_Details);
而不是调用db.AddToMailinglists_Details
- 您可能在创建的方法中出现问题。
答案 1 :(得分:0)
Incase Mailinglists_Details依赖于您需要使用其导航属性为其填充它的另一个实体:考虑到您具有MailingList 1-&gt; * MailingListDetails关系。在这种情况下,您必须放置MailingListDetails.MailingList = mailingListObject;