Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 实体框架如何将表1自动生成的id添加到表2中_Asp.net_Sql Server_Asp.net Mvc_Entity Framework - Fatal编程技术网

Asp.net 实体框架如何将表1自动生成的id添加到表2中

Asp.net 实体框架如何将表1自动生成的id添加到表2中,asp.net,sql-server,asp.net-mvc,entity-framework,Asp.net,Sql Server,Asp.net Mvc,Entity Framework,假设我们有三张桌子: 表1是主表 表2和表3是相关表。它们与表1 Table1.id是一个标识列,由数据库自动生成 表2,表3没有标识列 这将允许我插入主体表1,而无需依赖。我在制作StoreGeneratedPattern=identity时读到了这一点。EF读取数据库中生成的值并将其存储在内存缓存中 所以我想把Table1\u id分配给Table2,这是一个依赖表。所以我的问题是 我如何获得该id?我想把这个id分配给表2 table2 t2 = new Table2(){ id =

假设我们有三张桌子:

  • 表1
    是主表
  • 表2
    表3
    是相关表。它们与
    表1

  • Table1.id
    是一个标识列,由数据库自动生成

  • 表2
    表3
    没有标识列
这将允许我插入主体
表1
,而无需依赖。我在制作
StoreGeneratedPattern=identity
时读到了这一点。EF读取数据库中生成的值并将其存储在内存缓存中

所以我想把
Table1\u id
分配给
Table2
,这是一个依赖表。所以我的问题是

  • 我如何获得该
    id
    ?我想把这个id分配给表2

    table2 t2 = new Table2(){ id = ? };   // How? 
    
  • 现在回到这里,另一个问题是:我是否必须在控制器中将
    virtual
    分配给null

    Table1 t1 = new Table1() { table2 = null, table3 = null }    // ???
    
表1

public partial class table1
{
    public int Id { get; set; }
    public string username { get; set; }

    public virtual table2 table2 { get; set; }
    public virtual table3 table3 { get; set; }
}

另一个相关问题:我希望
Table1
Table2
Table3
相关。那么我该如何连接它们呢?

在数据库中,您有一个重复的外键指向同一个表。

另一个替代方法的可能重复是使用
序列。