我正在为使用EF4进行数据访问层的应用程序编写审计组件.我能够非常轻松地确定哪些实体已被修改,并且通过ObjectStateEntry对象,我可以提取已修改的原始值,当前值,实体名称和属性名称,但我还想提取原始表格和SQL Server中使用的列名和列名(因为它们并不总是与模型的实体和属性名称匹配)
有谁知道这样做的好方法?它甚至可能吗?映射显然存储在MSL中,但我无法找到以编程方式访问这些映射的方法.
如何获取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
我想让用户选择不同属性的搜索.例如
[输入文本] | [选择选项{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,也许使用反射?
谢谢
我正在尝试获取实体的SQL表名称.当我使用MetadataWorkspace查询时,我从对象或存储空间获取大量信息.但架构名称和表名称不存在.
我尝试查询CSpace和SSpace的所有EntityType对象,我可以看到两者都正确列出,但我无法弄清楚如何从CSpace获取SSpace.
所以说我在对象模型中有一个名为User的类型 - 如何在数据库中找到带有模式名称(tkp.User)的表名?
有没有办法做到这一点?