我正在尝试为我的应用程序创建一个SQLite数据库,并遇到了这个错误.
System.Exception:'您需要调用SQLitePCL.raw.SetProvider().如果您正在使用捆绑包,则可以通过调用SQLitePCL.Batteries.Init()来完成.
我创建了一个简单的控制台应用程序,运行完全相同的代码进行创建,没有任何问题.代码看起来像这样!
using (var dataContext = new SampleDBContext())
{
dataContext.Accounts.Add(new Account() { AccountName = name, AccountBalance = balance });
}
public class SampleDBContext : DbContext
{
private static bool _created = false;
public SampleDBContext()
{
if (!_created)
{
_created = true;
Database.EnsureDeleted();
Database.EnsureCreated();
}
}
protected override void OnConfiguring(DbContextOptionsBuilder optionbuilder)
{
optionbuilder.UseSqlite(@"Data Source="Source folder"\Database.db");
}
public DbSet<Account> Accounts { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释这个问题吗?我在两个项目上安装了相同的Nuget Packages,两者之间的唯一区别是数据源和我用于数据库的POCO类.
谢谢.
编辑
我的程序目前包含一个Console application引用a的程序.Net Framework Class Library.在Console application简单的有一个构造函数如下: …
我正在使用Firebase我的应用程序对用户进行身份验证。我已经创建了SignIn和SignUp表单,并且可以成功创建新用户并使用存储的用户登录。但是,问题出在维护用户之后,保持用户登录状态Reload。
我在教程中看到的方式是使用HOC类似以下内容的命令检查当前用户是否已登录。
const withAuthentication = Component => {
class WithAuthentication extends React.Component {
constructor(props) {
super(props);
this.state = {
authUser: null,
};
}
componentDidMount() {
this.listener = this.props.firebase.auth.onAuthStateChanged(
authUser => {
authUser
? this.setState({ authUser })
: this.setState({ authUser: null });
},
);
}
componentWillUnmount() {
this.listener();
}
render() {
return (
<AuthUserContext.Provider value={this.state.authUser}>
<Component {...this.props} />
</AuthUserContext.Provider>
);
}
}
return withFirebase(WithAuthentication);
};
export default withAuthentication;
Run Code Online (Sandbox Code Playgroud)
但是,我希望使用新版React Hooks …
我正在尝试tasks.json在vscode.
在我的launch.json文件中,我有以下代码来解析 .env 文件:
"configurations": [
{
...
"envFile": "${workspaceFolder}/.env",
}
]
Run Code Online (Sandbox Code Playgroud)
然后我在文件中包含tasks.json此任务:
{
"label": "login",
"command": "sh",
"type": "shell",
"args": [
"${workspaceFolder}/etc/login.sh",
"${env:USERNAME}",
"${env:PASSWORD}"
]
}
Run Code Online (Sandbox Code Playgroud)
这似乎是https://code.visualstudio.com/docs/editor/tasks隐含的代码,但是(通过在另一个任务中回显进行测试)我发现最后两个args是空白的。经过在线研究后,我想我找到了原因,它们configurations..env是由它们tasks自己使用的,而不是由task.json运行访问的,因此无法访问。
我如何env variables在 中创建(使用)这些tasks.json?
我正在实现HotChocolate作为我的 ASP.NET API 的一部分。我正在尝试向我的应用程序的聊天部分添加订阅,但是,HotChocolate 站点上的文档尚未实现。从我从其他站点/框架中得知的情况来看,我可以使用 C#IObservable<Chat>作为订阅方法的返回类型。
谁能给我一个查询方法的例子或指向另一个资源?
public async Task<IObservable<Message>> GetMessages(Guid chatId) {
var messages = ..Get chats;
return messages;
}
Run Code Online (Sandbox Code Playgroud)
但是,从查询的角度来看,这是如何工作的?我们如何触发一个事件来更新它?
谢谢。
我在 ASP.NET Web API 中使用实体框架。在查询方法中,我可以选择使用标准 LINQ 方法FirstOrDefault()或 EF 方法FirstOrDefaultAsync()。什么时候使用其中一种或另一种是正确的?
据我所知使用:
var users = context.Users.FirstOrDefault(user => user.id == Id);
Run Code Online (Sandbox Code Playgroud)
和
var users = await context.Users.FirstOrDefaultAsync(user => user.id == Id);
Run Code Online (Sandbox Code Playgroud)
两者都会暂停正在运行的线程直到调用返回吗?该方法的唯一优点Async是它可以Awaited在一个Async方法中。但是,如果该方法也正在等待那么它就无关紧要了?除了你肯定会触发另一个线程被创建?
public async Task MethodOneAsync() {
await MethodTwoAsync();
}
public async Task MethodTwoAsync() {
await context.Users.FirstOrDefaultAsync(..);
...
}
Run Code Online (Sandbox Code Playgroud)
这与执行以下操作相同吗:
public async void MethodOneAsync() {
MethodTwo();
... await something else to 'please' the async nature, or remove async all together ...
}
public …Run Code Online (Sandbox Code Playgroud) c# ×4
async-await ×1
firebase ×1
graphql ×1
hotchocolate ×1
react-hooks ×1
reactjs ×1
sqlite ×1
vscode-tasks ×1