簡體   English   中英

無法檢索上次插入的ID EF core 2.2

[英]Cannot retrieve last inserted id EF core 2.2

雖然我了解在線上有很多關於此的文章,但似乎找不到解決我問題的方法。 原因之一是我發現的所有文章都沒有使用異步功能。 這是我的問題:

我有實體:

[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Url]
public string LogoUrl { get; set; }
[Required]
public string AdministratorIdentityId { get; set; }
public string Verified { get; set; }
public int AddressId { get; set; }

我在數據庫上下文中有以下內容:

protected override void OnModelCreating(ModelBuilder model)
{
        model.Entity<RestaurantEntity>()
            .Property(p => p.Id)
            .ValueGeneratedNever();

        base.OnModelCreating(model);
}

我將信息保存到數據庫的代碼是這樣的:

try
{
    RestaurantEntity dbrestaurant = new RestaurantEntity();
    dbrestaurant.Name = restaurantName;
    dbrestaurant.AdministratorIdentityId = restaurantAdministrator;
    dbrestaurant.Verified = GenerateVerifiedCode();

    await _appDbContext.Restaurants.AddAsync(dbrestaurant);
    await _appDbContext.SaveChangesAsync();

    int newpk = dbrestaurant.Id;

    return newpk;
}

我的問題是newpk始終為0,而​​在DB中生成適當的值。 由於某些原因,EF核心無法獲取插入值。

這是代碼檢索信息:

在此輸入圖像描述

這是數據庫值:

在此輸入圖像描述

更改,

[Key]
public int Id { get; set; }

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id {get;set;}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM