Linq 在OpenAceess中插入组和内容

Linq 在OpenAceess中插入组和内容,linq,entity-framework,openaccess,telerik-open-access,Linq,Entity Framework,Openaccess,Telerik Open Access,我在sql中有一个组和内容表之间的多对多关系,我用一个连接表来破坏它。它的名字是GroupContent 当我尝试插入一个新组和内容时,Openaccess会插入一个组和一个内容,而不会将任何记录插入到我的连接表中。 这是我的密码 using (Context orm = new Context ()) { Group objGroup = new Group(); objGroup.GroupName = "group 1";

我在sql中有一个组和内容表之间的多对多关系,我用一个连接表来破坏它。它的名字是GroupContent

当我尝试插入一个新组和内容时,Openaccess会插入一个组和一个内容,而不会将任何记录插入到我的连接表中。 这是我的密码

using (Context orm = new Context ())
        {
            Group objGroup = new Group();
            objGroup.GroupName = "group 1";

            Content objContent = new Content();
            objContent.ContentDetail = "content 1";

            objGroup.Contents.Add(objContent );
            orm.Add(objGroup );
            orm.Add(objContent);

            orm.SaveChanges();


        }

我可以用它来编码实体框架。

默认情况下,集合属性不在OpenAccess中持久化管理


您需要使用IsManaged标记导航成员。只需打开设计器,找到导航属性(本例中为Group类的Contents属性),然后通过Properties窗格将IsManaged更改为true

首先,“orm.AddContent”可能是一个拼写错误。您是否在设计器中正确设置了m:n关联?如果这是数据库优先的方法,您是否在设计器中正确映射了联接表?我使用数据库优先的方法,并且在sql server中正确映射。当我使用open access向导创建模型时,它不会将联接表装箱到模型中,它只显示组和内容之间的多对多关系。如果OpenAccess创建了其他表,但没有创建联接表,则在映射中存在一些模糊性。您可以使用Telerik打开支持票证并将您的rlinq文件发送过来。那样你的问题会解决得更快