有没有办法通过反射或其他方式获取实体 ID 字段的名称?
我正在尝试获取实体的 ID 字段名称(属性名称),这可能吗?
用户用户=新用户(); //用户是一个实体
字符串 idField = ?????? //用户.用户Id
I am trying to get the ID field name (property name) of an entity, is it possible?
User user= new User(); //User is an Entity
string idField = ??????? //user.UserId
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以将两个功能合并为一个或设置搜索条件。
You could merge both funcs into one or set your search conditions.
如果您可以获得实体的 EntitySet 或 EntityType,那么您可以使用 KeyMembers 属性:
您可以从上下文中获取通用对象集:
If you can get the EntitySet, or the EntityType, for the entity, then you can use the KeyMembers property:
You can obtain a generic object set from the context:
此帖子 在实体框架支持论坛中展示了如何使用反射来查找 ID 字段及其详细信息。
This post in the Entity Framework support forums shows how to use reflection to find ID fields and their details.
实体类仍然是一个继承自 System.Data.Objects.DataClasses.EntityObject 的类,因此,我认为反射仍然可以对其起作用。
你尝试过吗? 你有什么错误吗?
Entity class is still a class which inherits from System.Data.Objects.DataClasses.EntityObject, so, i think reflection will still work on it.
Have you tried it? Do you get any error?