我在 C# 中有一个查询,它可以让我查询实体框架的元数据。我需要将其转换为 VB.NET,但我正在努力将 AS 关键字转换为“cast”元到 System.Data.Metadata.Edm.EntityType。我尝试过 TryCast、CType、Cast 等。
这是 C# 中的查询:
var queryResult = from meta in oc.MetadataWorkspace.GetItems(System.Data.Metadata.Edm.DataSpace.CSpace)
.Where(m => m.BuiltInTypeKind == System.Data.Metadata.Edm.BuiltInTypeKind.EntityType)
from p in (meta as System.Data.Metadata.Edm.EntityType).Properties
.Where(p => p.DeclaringType.Name == entityClassType.Name
&& p.Name == propertyName)
select p;
这是我最接近让它在 VB.NET 中编译的方法(As 关键字在下划线中表示')'预期:
Dim query2 = _
From meta In entityObjectContext.MetadataWorkspace.GetItems(System.Data.Metadata.Edm.DataSpace.CSpace) _
.Where(Function(m) m.BuiltInTypeKind = System.Data.Metadata.Edm.BuiltInTypeKind.EntityType) _
From p In (meta As System.Data.Metadata.Edm.EntityType).Properties _
.Where(Function(p) p.DeclaringType.Name = entity.GetType().Name _
And p.Name = propertyName) _
Select p
这是要了我的命。我这么近...