let 'say у меня есть таблица комментариев, Администратор и участник могут прокомментировать это. Администратора и члены являются наследованием от пользователя, , так что теперь я хочу, чтобы получить комментарий и фильтр специфических свойств элемента (Groupname)Entity Framework 6 литой объект наследования при выполнении where where
public class User
{
[Key]
public int id { get; set; }
public string name { get; set; }
public string type { get; set; } //member or admin
}
public class Admin : User
{
public string someProp { get; set; }
}
public class Member : User
{
public string groupName { get; set; }
}
public class Comment
{
[Key]
public int id { get; set; }
public string msg { get; set; }
[ForeignKey("user")]
public int user_id { get; set; }
public virtual User user { get; set; }
}
var comments = db.comments.Where(c => c.user.type == "member" && c.user.groupName == "abc").ToList();
конечно выше кода не может работать, поэтому любая идея для меня ?
спасибо большое! Это работает i m, используя Web API 2 & OData v4. Здесь я разделяю вопрос и ответ на эту проблему «Расширьте», с которой я сталкиваюсь. URL-адрес запроса для odata будет localhost: 6663/api/comments? $ Filter = user/EFDB.Member/groupName eq 'groupA' "для кода. Не использовать isof(). ссылка: http: // www .wenda.io/questions/5079367/using-odata-function-isof-with-web-api.html – user2288974
Имейте в виду, что 'user.type' избыточен, если вы уже проверяете тип, используя' is Member' или 'OfType()'. –
haim770