Я использую asp. net core 3.1 и AzureCosmosDB, EntityFrameworkCore3.1 для разработки RESTAPI.
Данные коллекции CosmosDB для коллекции приведены ниже:
CountryGroups:
{
"CountryGroupId": 197,
"IsPublished": true,
"CreatedBy": "test",
"CreatedDate": "5/10/2018 1:35:39 PM",
"UpdatedBy": "test",
"UpdatedDate": "5/10/2018 1:35:39 PM",
"CountryGroupContentId": 2001,
"LanguageId": 37,
"GroupName": " International",
"AssociatedCountryIds": [
110,
111
],
"Discriminator": "CountryGroups",
"id": "889b6f66-d4a6-439e-9de4-1fd5a3f631c8",
"_rid": "hKpmAPIni4cDAAAAAAAAAA==",
"_self": "dbs/hKpmAA==/colls/hKpmAPIni4c=/docs/hKpmAPIni4cDAAAAAAAAAA==/",
"_etag": "\"8b0082ea-0000-0100-0000-5e283ec60000\"",
"_attachments": "attachments/",
"_ts": 1579695814
}
DemoDBContext.cs
public class DemoDbContext : DbContext
{
public DemoDbContext(DbContextOptions<DemoDbContext> options): base(options)
{
//Database.EnsureCreated();
}
protected DemoDbContext()
{
//Database.EnsureCreated();
}
public DbSet<CountryGroups> CountryGroups
{
get;
set;
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
OneCollectionPerDbSet(modelBuilder);
}
private void OneCollectionPerDbSet(ModelBuilder modelBuilder)
{
var dbSets = typeof(DemoDbContext).GetProperties(BindingFlags.Public | BindingFlags.Instance).Where(p => p.PropertyType.IsGenericType && typeof(DbSet<>).IsAssignableFrom(p.PropertyType.GetGenericTypeDefinition()));
foreach (var dbSet in dbSets)
{
var metadata = modelBuilder.Entity(dbSet.PropertyType.GetGenericArguments()[0]).Metadata;
metadata.SetContainer(dbSet.Name);
}
}
}
CountryGroup.cs
public class CountryGroups
{
public string id
{
get;
set;
}
public int CountryGroupId
{
get;
set;
}
public bool IsPublished
{
get;
set;
}
public string CreatedBy
{
get;
set;
}
public string CreatedDate
{
get;
set;
}
public string UpdatedBy
{
get;
set;
}
public string UpdatedDate
{
get;
set;
}
public string CountryGroupContentId
{
get;
set;
}
public int LanguageId
{
get;
set;
}
public string GroupName
{
get;
set;
}
public List<CountryList> AssociatedCountryIds
{
get;
set;
}
}
public class CountryList
{
public string id
{
get;
set;
}
}
CountryGroupRepository.cs
private async Task<CountryGroupResult> GetCountryGroupsDataAsync()
{
var countryGroups = await _dbContext.CountryGroups.ToListAsync();
}
При отладке вышеприведенного кода я вижу, что в переменной countryGroups есть все, кроме свойства AssociatedCountryIds.
AssociatedCountryIds возвращает нулевое значение.
Может кто-нибудь помочь мне узнать, как решить эту проблему?