簡體   English   中英

EF 6 Core 前綴基於多對一關系中實體的屬性

[英]EF 6 Core prefix based on property of the entity in many-to-one relationship

我有兩個相關的實體:

[Index(nameof(Name), IsUnique = true)]
public class ApiResource : Entity<int>
{
    public string Name { get; set; }
    public ICollection<ApiScope> ApiScopes { get; set; }
}

及相關實體:

[Index(nameof(Name), IsUnique = true)]
public class ApiScope : Entity<int>
{
    public string Name { get; set; }
    public ICollection<Client> Clients { get; set; }
    public ApiResource ApiResource { get; set; }
}

我想根據 ApiResource.Name 為 ApiScope.Name 添加前綴。 例如,如果 ApiResource.Name = "niceAPI",那么例如 ApiScope.Name = "niceAPI:test.read"。 在創建 ApiResource 和 ApiScope 時是否可以不手動添加前綴? 如果是,如何?

我認為您可以修改ApiScope.Name的設置器。 就像是

private string _name;
public string Name
{
    get => _name;
    set
    {
        string prefix = ApiResource.Name + ":";
        if (value.StartsWith(prefix))
            _name = value;
        else
            _name = prefix + value;
    }
}

但是您應該確保提前設置了ApiResource

暫無
暫無

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

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