gpt4 book ai didi

c# - 从 KeyMembers 中获取身份字段

转载 作者:行者123 更新时间:2023-11-30 19:16:44 26 4
gpt4 key购买 nike

我想获得 KeyMembers 我在 Edmx 中将 StoreGeneratedPattern 设置为 Identity 有没有办法做到这一点?

我可以使用此代码获取 KeyMembers:

private static IEnumerable<EdmMember> GetKeyMembers(string entityName)
{
var objectContext = EntityModel.ObjectContext;

var metaData = objectContext
.MetadataWorkspace
.GetEntityContainer(objectContext.DefaultContainerName, DataSpace.CSpace)
.BaseEntitySets
.FirstOrDefault(x => x.ElementType.Name == entityName);

return metaData.ElementType.KeyMembers;
}

我遇到的问题是它也返回外键,但我只想获得具有自动递增值的主键。

最佳答案

从给定的MetadataWorkspace,我们调用mw,我使用这个:

var cSpaceEntities = mw.GetItems(DataSpace.CSpace).OfType<EntityType>();

foreach (var entity in cSpaceEntities) {
var autoIds = entity.KeyMembers.Where(p =>
p.MetadataProperties
.Any(m => m.PropertyKind == PropertyKind.Extended
&& Convert.ToString(m.Value) == "Identity")).ToArray();
}

请测试

关于c# - 从 KeyMembers 中获取身份字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21709302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com