相关疑难解决方法(0)

VS实体框架中的Oracle实体不会更新代码中的主键

我有一个名为Tree的实体,它有一个名为Id的主键(使用StoreGeneratedPattern = Identity),当使用以下代码时,正确地插入到数据库中.

   using(TestContainer tss = new TestContainer())
   {
      Tree tree = new Tree()
      {
         Name = "TestTree"
      };

      tss.Trees.AddObject(tree);
      tss.SaveChanges();
   }
Run Code Online (Sandbox Code Playgroud)

我有一个后备序列+触发器来处理自动递增的主键Id.我已经验证这实际上正确插入数据库.

调用tss.Refresh(System.Data.Objects.RefreshMode.StoreWins, tree);不更新对象('Id'字段仍为0).有任何想法吗?

        <EntityType Name="Tree">
          <Key>
            <PropertyRef Name="Id" />
          </Key>
          <Property Type="Int32" Name="Id" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
          <Property Type="String" Name="Name" Nullable="false" />
          <NavigationProperty Name="HeuristicCulls" Relationship="TOPSSSimpleSelect.TreeHeuristicCull" FromRole="Tree" ToRole="HeuristicCull" />
          <Property Type="Int32" Name="Type" Nullable="false" />
          <NavigationProperty Name="PR_T" Relationship="TOPSSSimpleSelect.PR_TTree" FromRole="Tree" ToRole="PR_T" />
          <NavigationProperty Name="TreeItems" Relationship="TOPSSSimpleSelect.TreeTreeItem" FromRole="Tree" ToRole="TreeItem" />
          <Property Type="Byte" Name="IsRoot" Nullable="false" />
          <Property Type="Byte" Name="IsProductRoot" Nullable="false" />
          <NavigationProperty Name="TreeProducts" …
Run Code Online (Sandbox Code Playgroud)

c# oracle entity-framework visual-studio-2010 visual-studio

5
推荐指数
1
解决办法
6254
查看次数