C#でエンティティフレームワークのメタデータをクエリするクエリがあります。 VB.NETに変換する必要がありますが、ASキーワードをSystem.Data.Metadata.Edm.EntityTypeのメタキャストに変換しようとしています。私はTryCast、ctype関数、キャスト、などを試してみたEntity FrameworkメタデータLINQ(C#からVB.NETへの変換)
ここでは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
これは私を殺しています。私は...とても近いんだ
CTypeを試したと言われました。 @ dahlbykの答えはあなたのために働くのですか? – CoderDennis
だから私はあなたがCTypeを試みたと言ったことを完全に忘れてしまった。 OfType()を試してください。 :) – dahlbyk