小编mpa*_*baz的帖子

实体框架使用外键从表中检索数据

我的SQL Server数据库中有3个表Role,PermissionRolePermission.

RolePermission由两列的qRoleqPermission哪些是其他两个表的外键.

因此,当Entity Framework为其创建模型时,它只创建两个类并将虚拟属性添加RolePermission到每个角色和权限类中.

现在我需要选择列,RolePermission所以我写了这段代码:

var rolePermission = PREntitiy.Roles.Where(r => r.qRole == TxtRole.Text)
                                    .Select(p => p.Permissions);
Run Code Online (Sandbox Code Playgroud)

这样做我可以访问rolePermission表,但是我需要从角色表中检索一些列,并从rolePermission单个查询中检索一些列,就像我们在SQL中的join语句中所做的那样.

换句话说,我需要一个linq查询来访问角色表中的一些列和一些来自rolePermission但我需要在一个linq查询中执行它,就像SQL中的join语句一样.

谢谢

c# sql linq linq-to-entities entity-framework

10
推荐指数
1
解决办法
3万
查看次数

使用 Autofac 时如何解析 ASP.NET Core 中的特定键控服务?

我在简单的 ASP.NET Core Web API 中创建,假设我有一个如下界面:

public interface ITestService
{
    string GetDate();
}
Run Code Online (Sandbox Code Playgroud)

我使用 Autofac 来处理 DI,对于上述接口,我有两个注册类型(TestService 和 TestComponent 实现 ITestService):

builder.RegisterType<TestService>().As<ITestService>().Keyed<ITestService>("service");
builder.RegisterType<TestComponent>().As<ITestService>().Keyed<ITestService>("component");
Run Code Online (Sandbox Code Playgroud)

我知道我可以注册我的类型来使用这些绑定中的任何一个,并且我知道有一种方法可以获得正确的类型,如此处讨论

var services = serviceProvider.GetServices<ITestService>();
var testComponent= services.First(o => o.GetType() == typeof(TestComponent));
Run Code Online (Sandbox Code Playgroud)

由于我使用 Autofac 并使用 Keyed Services 注册了我的类型,因此如何使用 IServiceProvider 和我在绑定中提供的密钥(“服务”或“组件”)解析正确的 ITestService?

c# autofac asp.net-core-mvc asp.net-core

5
推荐指数
1
解决办法
2103
查看次数