我有一个非常具体的问题.我正在使用android数据绑定库:https: //developer.android.com/topic/libraries/data-binding/index.html
我有这样的数据模型:
Class Participant
Public String Name;
//and so on
Public ObservableArrayList<Drink> DrinkList;
End Class
Class Drink extends BaseObservable
@Bindable
Public String Name;
@Bindable
Public Float Price;
End Class
Run Code Online (Sandbox Code Playgroud)
视图模型:
Class ParticipantList
public ObservableArrayList<Participant> list = new ObservableArrayList<>();
//some Methods to add items and concstructor
Run Code Online (Sandbox Code Playgroud)
我还为所有@Bindable字段使用Getter和Setter.
现在我有一个带有expandablelistview的活动,我通过XML将一个适配器绑定到expandablelistview,并将自定义的@BindingAdapter绑定到这样:
//in XML for the layout
<layout xmlns:bind="http://schemas.android.com/apk/res-auto"
<data>
<variable name="Participants" type="com.example.ParticipantList"/>
</data>
<ExpandableListview>
<bind:participants=Particpants.list>
Run Code Online (Sandbox Code Playgroud)
在绑定帮助器Class中这个静态方法
@BindingAdapter("participants")
public static void bindList(ExpandableListView view, ObservableArrayList<Participant> list) {
ParticipantListAdapter adapter = new ParticipantListAdapter(list);
view.setAdapter(adapter); …Run Code Online (Sandbox Code Playgroud) java data-binding android expandablelistview expandablelistadapter
我有一个问题,我很难找到答案.
我有3个实体类,其关系类似于(简化):
class Article {
public int id
public string Name
public int ArticleStandard Id
public int CompanyId
public ArticleStandard ArticleStandardNavigation
public Company CompanyNavigation
}
class ArticleStandard {
public int id
public ICollection<Article> Articles
}
class Company {
public in id
public ICollection<Article> Articles
}
Run Code Online (Sandbox Code Playgroud)
所以关系是1公司可以有很多文章,1标准文章可以有很多文章.它们都在DBContext中设置为DBSets.鉴于是ArticleStandard的Id.我现在想通过文章实体获得所有拥有此标准文章的公司.我想"生产"的TSQL是:
select c.* from Company c
inner join Article a on c.ID = a.CompanyId
inner join ArticleStandard on a.ArticleStandard = arts.id
Where arts.Id = 1
Run Code Online (Sandbox Code Playgroud)
这给出了我想要的结果.
我尝试了很多,我不想发布我的所有试验来解决这个问题,这可以让它与Include和ThenInclude一起工作.但我不想得到所有文章和文章标准.如果我只选择公司,则忽略包含:https: //docs.microsoft.com/en-us/ef/core/querying/related-data#ignored-includes
var vtp = context.Company.Include(a => …Run Code Online (Sandbox Code Playgroud)