使用C#MongoDB驱动程序,我们目前创建我们的集合,如下所示:
MongoServer mongoServer = MongoServer.Create("some conn str");
MongoDatabase db = mongoServer.GetDatabase("mydb");
MongoCollection logs = db.GetCollection("mycoll");
Run Code Online (Sandbox Code Playgroud)
我想mycoll用作上限集合.我还没有看到任何关于如何使用C#驱动程序创建上限集合的示例或文档细节.我发现了大量的JS示例,甚至是一个Java示例(这里:在java中创建一个mongodb上限集合).
有没有人必须这样做,或者知道C#中是否可能?
我似乎无法找到解决这个问题的方法.我已经看到了几个关于此的问题,但没有一个真正给我一个解决方案.我是Autofac的新手,并没有真正做过多的WPF + MVVM,但了解基础知识.
我有一个WPF应用程序(使用ModernUI for WPF),我正在尝试添加Autofac,并且我很难弄清楚如何在所有视图中解析我的服务,因为他们无法访问我的容器.我有一个主视图,这是我的入口点,我设置我的容器:
public partial class MainWindow : ModernWindow
{
IContainer AppContainer;
public MainWindow()
{
SetUpContainer();
this.DataContext = new MainWindowViewModel();
InitializeComponent();
Application.Current.MainWindow = this;
}
private void SetUpContainer()
{
var builder = new ContainerBuilder();
BuildupContainer(builder);
var container = builder.Build();
AppContainer = container;
}
private void BuildupContainer(ContainerBuilder builder)
{
builder.RegisterType<Logger>().As<ILogger>();
...
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是弄清楚如何在我的其他视图中解析我的记录器和其他服务,在那里我通过ViewModel构造函数注入所有依赖项,如下所示:
public partial class ItemsView : UserControl
{
private ItemsViewModel _vm;
public ItemsView()
{
InitializeComponent();
IFileHashHelper fileHashHelper = new MD5FileHashHelper();
ILibraryLoader libraryLoader = new LibraryLoader(fileHashHelper); …Run Code Online (Sandbox Code Playgroud) 我有一个奇怪的请求,允许用户选择滑块上的范围,但允许它们反转滑块上的范围选择.例如,如果他们在滑块上有这个选择:
<---- [] ========== [] ---->
他们可以单击按钮并反转该选择.我们想像这样直观地显示它:
<==== [] ---------- [] ====>
然后滑块将继续按预期运行,但突出显示相反.我知道你可以用这个滑块做类似的事情,通过一个手柄设置固定的最大值或最小值,但不确定是否可以使用两个手柄.有谁知道这是否适用于jQuery UI滑块?
我启动了一个简单的 Angular2 Electron 应用程序,并且有一个查询本地 SQL Server 数据库的服务方法。到目前为止一切正常。现在我试图获取对我的组件的服务数据库调用的结果并以某种方式显示它。
问题是查询逻辑写的比较多的是回调语法:
sql.query(sqlString, (err, result) => {
...
callback(result);
...
});
Run Code Online (Sandbox Code Playgroud)
我很难重写它以返回承诺,因为结果始终位于查询命令函数的结果参数内。我的组件如下所示:
export class LinkDocRetriever {
constructor(private myService: MyService) { }
results = "";
loadMyData(id: number): void {
let tcData = this.myService.getMyData();
tcData.forEach(element => {
this.results += element.FileName + " " + "....\n";
});
};
}
Run Code Online (Sandbox Code Playgroud)
我的服务如下所示:
import { Injectable } from "@angular/core";
import * as sql from "mssql";
@Injectable()
export class MyService {
getMyData():Array<MyItem> {
let myData:Array<MyItem> = [];
let config = { …Run Code Online (Sandbox Code Playgroud) 为了进入.NET Core,我创建了一个WEB API,该API可以上传文件,然后将文件中的事务保存到DB表中。我正在使用.NET Core 2和Entity Framework Core。我使用此处的示例创建了上下文。
我的问题是,当尝试将其保存到我的存储库中的上下文对象时,出现错误“ System.ObjectDisposedException无法访问已处置的对象”。这是一个简单的堆栈,所以我希望有人可以帮助我。
我的容器设置如下所示:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddDbContext<SyncFinContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddScoped<ITransactionProcessor, TransactionProcessor>();
services.AddScoped<ITransactionRepository, TransactionRepository>();
}
Run Code Online (Sandbox Code Playgroud)
我的DBInitializer也从上面的链接中获得:
public static class DbInitializer
{
public static async Task Initialize(SyncFinContext context)
{
await context.Database.EnsureCreatedAsync();
// Look for any students.
if (context.Transactions.Any())
{
return; // DB has been seeded
}
var ts = new Transaction[]
{
// insert test data here
};
await context.SaveChangesAsync();
}
}
Run Code Online (Sandbox Code Playgroud)
我的数据库上下文:
public class SyncFinContext : DbContext
{
public …Run Code Online (Sandbox Code Playgroud) dependency-injection ioc-container dbcontext entity-framework-core asp.net-core
c# ×2
.net ×1
angular ×1
asp.net-core ×1
asynchronous ×1
autofac ×1
controls ×1
dbcontext ×1
invert ×1
javascript ×1
jquery ×1
jquery-ui ×1
mongodb ×1
mvvm ×1
wpf ×1