Я пытаюсь выбрать информацию из нескольких таблиц через Linq. Запрос работает, если я беру последний запрос API from apis in Database.PluginApis where apis.PluginId == tenantPlugin.PluginId
. Если я помещу запрос обратно, это приведет к ошибке System.Collections.Generic.KeyNotFoundException: The given key 'Name' was not present in the dictionary.
Кто-нибудь сможет увидеть, что я делаю неправильно?
var results = (from tenantPlugin in Database.TenantPlugins
where tenantPlugin.TenantId == tenantId
select new TenantPlugin
{
PluginId = tenantPlugin.PluginId,
IsEnabled = tenantPlugin.IsEnabled,
TenantId = tenantPlugin.TenantId,
TenantPluginId = tenantPlugin.TenantPluginId,
Plugin = (from plugin in Database.Plugins
where plugin.PluginId == tenantPlugin.PluginId
select new Plugin
{
PluginId = plugin.PluginId,
Name = plugin.Name,
Description = plugin.Description,
ImagePath = plugin.ImagePath,
IsActive = plugin.IsActive,
Apis = (from apis in Database.PluginApis
where apis.PluginId == tenantPlugin.PluginId
select new PluginApi
{
Name = apis.Name
}).ToList<PluginApi>()
}).FirstOrDefault<Plugin>()
});
return results.ToList();