C# 实体上的SaveChanges()未更新记录,未引发异常

C# 实体上的SaveChanges()未更新记录,未引发异常,c#,database,entity-framework,C#,Database,Entity Framework,代码如下: 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;

代码如下:

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=newentities()

addtomaillists\u Details(obj)
AddObject(“Mailinglists\u 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
,自定义类扩展了4个属性:listname(string)、usage(string)、responsible(string)、recipients(string[])

Try
db.MalingLists.Add(\u addMail\u Details)
而不是调用
db.AddToMailinglists\u Details
-您创建的方法可能存在问题。

如果Mailinglists\u Details依赖于另一个实体,您需要使用其导航属性来填充它,例如:考虑到您有MailingList 1->*MailingListDetails关系。在这种情况下,您必须放置
MailingListDetails.MailingList=mailingListObject

很抱歉告诉您,但我使用相同的方法生成虚拟记录,而且效果非常好。另外,方法
db.MailingLists\u Details.Add()
不存在…请添加using语句(它是否包含对savechanges的调用?)我不确定您的意思,但我可以告诉您,savechanges()是实体的一个方法,它应该将更改从实体更新到数据库。事实并非如此,MailingList_详细信息是独立的。我不明白为什么这不起作用,请提供完整的代码部分好吗?(包括上下文初始化)我去掉了上下文初始化来声明
Entities db=newentities()
,这使得另一段代码再次工作。