次の SQL ステートメントに相当する LINQ は何ですか? 私はエンティティ フレームワーク 5、データベースを最初に使用しています。
SELECT Name
FROM SysObjects
WHERE xtype='U' AND Name LIKE 'D[_]%'
ORDER BY Name ASC
次の SQL ステートメントに相当する LINQ は何ですか? 私はエンティティ フレームワーク 5、データベースを最初に使用しています。
SELECT Name
FROM SysObjects
WHERE xtype='U' AND Name LIKE 'D[_]%'
ORDER BY Name ASC
これは LINQ で行うことができますが、SysObject をクラスにマップする場合に限ります。そうしないと、他の方法では不可能です。
例えば:
public class SysObject
{
public int SomeUniqueId { get; set; }
public string Name { get; set; }
}
マッピング ファイルは次のようになります (EF の使用方法について述べていないため、Code First アプローチを使用しています)
public class SysObjectMap : EntityTypeConfiguration<SysObject>
{
HasKey(p => p.SomeUniqueId);
Property(p => p.Name).IsRequired();
ToTable("SysObjects"); // If there is Schema pass it as a 2nd argument
Property(p => p.Name).HasColumnName("name");
}
このマッピングをコンテキスト クラスに登録する必要があります。もちろん、Database First アプローチを使用している場合、Visual Studio によって生成されるコードが大幅に異なるため、上記の方法では混乱する可能性があります。
更新: Database-First アプローチの場合、システム テーブルを表示できると確信しています。もちろん、生成された EDMX と実装クラスをいつでも開いて、自分でマッピングを追加できます。もう 1 つの方法は、システム オブジェクトをラップするビューを作成することです。次に、モデル デザイナーを使用してビューを追加します。