c# - 使用 Entity Framework 向模型中注入(inject)一些东西

标签 c# entity-framework

我想在模型加载 Entity Framework 时向模型中注入(inject)一些东西。

考虑以下用户模型。我希望 Entity Framework 在执行 context.Users.Where(somequery) 时将 SomeReference 注入(inject)到从数据库加载的每个用户中。

public class User {

    public string Username {get; set;}

    public User(SomeReference ref)
    {
    }

}

我在哪里可以注册?

最佳答案

您可以尝试在DbContext 构造函数中添加类似这样的内容

((IObjectContextAdapter)this).ObjectContext.ObjectMaterialized += 
(sender, args) =>
    {
    var user = args.Entity as User;
    if (user != null)
        user.SomeReference = ref;
    };

我想下一步是依靠某种工厂来检索变量 ref

的各种值

关于c# - 使用 Entity Framework 向模型中注入(inject)一些东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36840810/

相关文章:

c# - 针对 DbContext 使用查询生成器方法

c# - 如何在 Entity Framework 中使用 BETWEEN 关键字?

c# - 我可以重用代码来为 EF Core 的子属性选择自定义 DTO 对象吗?

c# - dbcontext 上的 Entity Framework 选择子句

c# - 如何确定它是否是参照完整性违规异常

c# - Entity Framework 文件未嵌套在 EDMX 文件下

c# - c#字符串有长度限制吗

c# - 对于存储在 ini 文件中的信息来说,什么是好的映射器模式?

C# - 当 webRequest 发送 XML 时,将 Base64 安全为 Gif?

c# - DataGridView 替换值