EF查询接收泛型,根据表名动态创建实例且用于EF的泛型参数

发布于 2022-09-07 03:27:42 字数 749 浏览 21 评论 0

public static void CreateInstance()
{
    using (var ru = new RepositoryUse())
    {
        //封的查询
        var list1 = ru.SysUserRepository.IQueryable().ToList();
        //自定义SQL语句
        var list2 = ru.Context.Set<SysUser>().FromSql("select * from sysuser").ToList();
                
        //以上是常规的查询

        //问题,SysUser 实体未知

        //页面传一个变量 
        string tableName = "SysUser";

        //这里通过tableName的参数动态创建一个SysUser的实体,且可以传到Set<TEntity>
        //stringToTEntity(tableName)

        //这个是C#动态创建实例,但是这里的dm是object 需要 as SysUser才能用
        var dm = Activator.CreateInstance(Type.GetType("Domain.SysUser"));
        var domain = dm as SysUser;

        //那么,说了这么多,有没有其它的方法来解决这个问题,或者说,改写Set方法
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文