SQL Server Compact不支持服务器生成的密钥和服务器生成的值

时间:2012-04-05 08:05:41

标签: c# entity-framework linq-to-entities sql-server-ce

插入记录时:

        Poster_ratings prItem = new Poster_ratings
        {
            poster_id = posterId,
            rating = rating,
            email = email,
            name = name,
            event_id = eventId,
            id = GetNextID()
        };

        entity.AddToPoster_ratings(prItem);
        entity.SaveChanges();

我收到了不支持服务器生成的值的错误。

我正在使用Sql compact 3.5(MS Sync Framework支持的最高版本)。我已经阅读this post并为此表设置'setStoreGeneratedPattern'为none,但这也没有帮助,我一直得到同样的错误。我该怎么做才能解决这个问题?

Greets&提前致谢

1 个答案:

答案 0 :(得分:1)

看看这个:Server-generated keys and server-generated values are not supported by SQL Server Compact

正如Erik所指出的那样,在同步时使用PK的身份值是有问题的。如果两个或多个客户端插入行并通过标识获得相同的自动生成的数字,则在将它们同步到服务器时会出现PK冲突。

这是在Sync Framework中选择PK的链接:Selecting an Appropriate Primary Key for a Distributed Environment