相关疑难解决方法(0)

如何在EF4实体上提取属性的数据库表和列名?

我正在为使用EF4进行数据访问层的应用程序编写审计组件.我能够非常轻松地确定哪些实体已被修改,并且通过ObjectStateEntry对象,我可以提取已修改的原始值,当前值,实体名称和属性名称,但我还想提取原始表格和SQL Server中使用的列名和列名(因为它们并不总是与模型的实体和属性名称匹配)

有谁知道这样做的好方法?它甚至可能吗?映射显然存储在MSL中,但我无法找到以编程方式访问这些映射的方法.

c# sql-server entity-framework entity-framework-4

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

如何在EF4中获取实体的第一个EntityKey名称

如何获取Entity Framework 4实体的第一个EntityKey名称,因为我正在构建一个存储库系统,我想通过Id获取一个项目(这是EF的主键是实体的第一个实体键)

我正在使用此代码

public virtual TEntity GetById(string keyName, Guid entityId)
        {
            var entityKey = new EntityKey(this.QualifiedEntitySetName, keyName, entityId);
            object entity;
            return this.Context.TryGetObjectByKey(entityKey, out entity) ? entity as TEntity : null;
        }
Run Code Online (Sandbox Code Playgroud)

我想让实体键名称动态化.任何人都可以帮我解决这个问题吗?

entity entity-framework repository entitykey entity-framework-4

4
推荐指数
1
解决办法
3393
查看次数

使用反射从属性Name获取lambda表达式

我想让用户选择不同属性的搜索.例如

[输入文本] | [选择选项{ID,NAME,PHONE}] | [搜索]

然后我会像这样构建我的查询:

repository.Where(lambda-expression)
Run Code Online (Sandbox Code Playgroud)

从所选选项{ID,NAME,PHONE}构建lambda表达式(例如:x => x.NAME.Equals(INPUT TEXT))

有没有办法从Property属性名称构建lambda,也许使用反射?

谢谢

c# reflection lambda entity-framework-4

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

如何以编程方式从实体获取具有模式名称的数据库表名称

我正在尝试获取实体的SQL表名称.当我使用MetadataWorkspace查询时,我从对象或存储空间获取大量信息.但架构名称和表名称不存在.

我尝试查询CSpace和SSpace的所有EntityType对象,我可以看到两者都正确列出,但我无法弄清楚如何从CSpace获取SSpace.

所以说我在对象模型中有一个名为User的类型 - 如何在数据库中找到带有模式名称(tkp.User)的表名?

有没有办法做到这一点?

c# linq entity-framework

4
推荐指数
1
解决办法
5853
查看次数