私は次のクラスを持っています:
public class BicycleSellerListing : IUserName
{
public UserProfile UserProfile { get; set; }
/// <summary>
/// IUserName interface property
/// </summary>
public string UserName
{
get
{
return UserProfile.UserName;
}
}
}
インターフェース:
public interface IUserName
{
string UserName { get; }
}
そして、このクエリ:
public static List<T> GetList<T>(string userName) where T : class, IUserName
{
using (SqlUnitOfWork work = new SqlUnitOfWork())
{
return work.GetList<T>(row => row.UserName == userName)
.ToList();
}
}
このクエリを実行すると、次の例外が発生します。
指定された型メンバー 'UserName' は、LINQ to Entities ではサポートされていません。初期化子、エンティティ メンバー、およびエンティティ ナビゲーション プロパティのみがサポートされています。
例外が発生する理由は理解していますが、インターフェイスを使用してこのクエリを実行できる方法があるかどうか疑問に思っていますか?