我正在尝试从表中的表创建动态odata服务,这些服务在运行时才会知道.因此,在我的Web应用程序开始时,用户选择一个数据库,在C#中我找到该数据库中的所有表.
现在困难的部分是我想为数据库中的每个表创建odata服务端点,并在我的Web应用程序中相应地使用它们.问题是我不知道如何动态地做到这一点.编译时已知的数据库表有很多例子,但在这种情况下,直到我的用户第一次使用我的应用程序时才会有它们.
我在ASP.NET MVC Core和Entity Framework中有以下代码,当我这样做时,我收到以下错误ToListAsync.
附加信息:源IQueryable未实现IDbAsyncEnumerable.只有实现IDbAsyncEnumerable的源才能用于Entity Framework异步操作.有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=287068.
这是我的代码:
var states = mDbContext.State.ToListAsync();
var countries = mDbContext.Country.ToListAsync();
mMemoryCache.Set(Countries, await countries,
new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.MaxValue));
mMemoryCache.Set(States, await states,
new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.MaxValue));
Run Code Online (Sandbox Code Playgroud)
我的上下文类扩展了DbContext,我使用了EF 6.
public virtual DbSet<Country> Country { get; set; }
public virtual DbSet<State> State { get; set; }
Run Code Online (Sandbox Code Playgroud)
知道为什么ToListAsync()即使我安装了所有东西也无法执行?
我正在使用jQuery DataTables,并且我一直试图在过去2天内将工具提示添加到我的数据表的Header列中无济于事.
我在datatables网站上使用了示例,其中工具提示已添加到行数据中,但这不起作用.我只看到一个工具提示,它甚至没有得到列的标题.
下面是我到目前为止的代码.
if (oTable != null) {
oTable.fnClearTable();
oTable.fnAddData(columnData);
} else {
oTable = $('#caseDataTable').dataTable({
"bDestroy": true,
"aaData": columnData,
"aoColumnDefs": columnNames,
bFilter: true,
bAutoWidth: true,
autoWidth: true,
"responsive": true,
dom: 'Bfltip',
buttons: [
{
extend: 'colvis',
postfixButtons: ['colvisRestore'],
collectionLayout: 'fixed two-column'
}
],
"fnDrawCallback": function() {
if (typeof oTable != 'undefined') {
$('.toggleCheckBox').bootstrapToggle({});
}
$('#caseDataTable thead tr').each(function () {
var sTitle;
var nTds = $('td', this);
var columnTitle= $(nTds[0]).text();
this.setAttribute('title', columnTitle);
});
/* Apply the tooltips */
$('#caseDataTable …Run Code Online (Sandbox Code Playgroud) 如何将 CSS 范围限定为 Angular 中的一个模块?当我懒惰地加载一个模块,并且在该模块中有 ViewEncapsulation.None 时,CSS 会渗入我应用程序的其他部分。知道如何防止这种情况发生,或者仅在 Angular 5 中为该模块保留该 CSS?
在我的 Reducer 中,我试图更新字典集合中保存的数组中对象的属性,但它不起作用,我不知道为什么。我的状态的 results 属性是一个键/值对的字典,值是一个数组。
我尝试使用 map 函数创建一个新数组,但我的结果和状态没有更新。这是我的代码:
case LOAD_SUCCESS: {
const form = (action as LoadSuccessAction).form;
return {
results: {
...state.results,
...state.results['FORMS'].map(item =>
item.id === form .id
? {...item, 'categories': form.categories}
: item)
},
loading: false,
loaded: true
};
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我的应用程序中有不同的选择器,但由于某种原因,当我的商店发生更改时,这个特定的选择器不会更新,我不知道为什么。行的代码selectDataStream在第一次之后永远不会运行,随后的存储更改并且没有任何反应。我看到我的新值已在商店中更新。
成分:
ngAfterViewInit(): void {
if (this.fields && this.fields.length > 0) {
this.store$.select<any[]>(getConnections(this.connectorId))
.takeUntil(this.onDestroy$).subscribe(connections => {
this.selectDataStream.next(connections);
this.cdRef.detectChanges();
});
}
}
Run Code Online (Sandbox Code Playgroud)
减速器代码:
const model = state.connectionresults[connectionId];
const updatedstate = {
...state,
connectionresults: {
...state.connectionresults,
[connectionId]: {
...model,
connections: [...payload]
}
}
};
return {
...updatedstate
};
Run Code Online (Sandbox Code Playgroud)
选择器:
export const selectConnectionResults = createSelector(
selectFinderData,
(state: FinderState) => state.connectionresults
);
export const getConnections = (id) => createSelector(selectConnectionResults, entities => {
return entities[id];
});
Run Code Online (Sandbox Code Playgroud)
我做错了什么导致选择器无法触发?
angular ×3
c# ×2
javascript ×2
ngrx ×2
.net ×1
asp.net-mvc ×1
css ×1
datatables ×1
jquery ×1
ngrx-effects ×1
odata ×1
reactjs ×1
redux ×1
tooltip ×1