C# 在两个数据库的两个不同表中插入相同的Guid键

C# 在两个数据库的两个不同表中插入相同的Guid键,c#,sql-server,entity-framework,C#,Sql Server,Entity Framework,我在两个数据库中有两个表APP,我希望在两个数据库中获得相同的APP标识符,但是当我将APP插入第一个数据库并将其插入第二个数据库时,我生成了一个新的Guid(如果我在列中指定了默认值)或一个空Guid 以下是我在数据库的两个表中插入应用程序的代码: app.Id_App = Guid.NewGuid(); app.DateAdded = DateTime.Now; app.PublisherId_advertiserPublisher = id

我在两个数据库中有两个表APP,我希望在两个数据库中获得相同的APP标识符,但是当我将APP插入第一个数据库并将其插入第二个数据库时,我生成了一个新的Guid(如果我在列中指定了默认值)或一个空Guid

以下是我在数据库的两个表中插入应用程序的代码:

 app.Id_App = Guid.NewGuid();
            app.DateAdded = DateTime.Now;
            app.PublisherId_advertiserPublisher = id_publisher;
            db.AppSet.AddObject(app);
            db.SaveChanges();

            //add app to db2


            App2 appDB2 = new App2()
            {
                App_link=app.App_link,
                Id_app= app.Id_App,                   
                CategoryId_cat=app.CategoryId_cat,
                Description=app.Description,
                keywords=keywords.Key_word,             
            };
       DB2.App.AddObject(appDB2);
            pushDB.SaveChanges();
我已经将表定义中的
rowGuid
设置为no。 我错过什么了吗?有没有更好的方法在两个不同的数据库中获得相同的guid密钥?
谢谢。

如果您最初指定应该由数据库生成
Id\u app
,然后将其更改为
DatabaseGenerated。无
,则实体框架不会发出sql来更改基础表。您需要删除并重新创建该表,或者在数据库中手动更改它,或者创建自定义迁移

参考资料:


-您可以在此处的未来版本中投票支持它

请显示实体声明(类App和App2)。
Guid
不是与所有其他类型行为不同的神奇类型。如果您的模型没有关于
uniqueidentifier
列的任何特殊信息,则可以通过执行您现在正在执行的操作来更新它。我很确定你的模型确实有一些特殊的信息,说明这个列是服务器计算的。把它扔掉。在何处查找特殊信息取决于您的模型是如何构造的。您是对的,我已将其从Identity更改为none,但我不必重新创建表,我在实体框架和数据库的xml中更改了它,谢谢您的帮助,它可以工作。