我正在尝试使用.net Core类库项目中的EF Core对现有数据库进行逆向工程.
这是 project.json
{
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.1.0",
"type": "platform"
},
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final"
},
"frameworks": {
"netcoreapp1.1": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
PM> scaffold-dbcontext "data source=Server;Initial Catalog=Database;Integrated Security=true" Microsoft.EntityFrameworkCore.SqlServer -verbose
Build started...
Build succeeded.
The specified framework 'Microsoft.NETCore.App', version '1.1.0' was not found.
- Check application dependencies and target a framework version installed at:
C:\Program Files\dotnet\shared\Microsoft.NETCore.App
- The following versions are installed:
1.0.1
1.1.0-preview1-001100-00
- …Run Code Online (Sandbox Code Playgroud) 我有以下模块:
export const ProfileData = {
state: {
ajaxData: null;
},
getters: {/*getters here*/},
mutations: {/*mutations here*/},
actions: {/*actions here*/}
}
Run Code Online (Sandbox Code Playgroud)
这个模块在我的全球商店注册:
import {ProfileData} from './store/modules/ProfileData.es6'
const store = new Vuex.Store({
modules: {
ProfileData: ProfileData
}
});
Run Code Online (Sandbox Code Playgroud)
我也使用了Vue.use(Vuex)并new Vue({ store: store})正确设置了商店.但是,当我尝试访问模块的ajaxData所属时ProfileData,在我的一个组件中this.$store.ProfileData.ajaxData,控制台显示undefined错误.同样适用于阅读this.$store.ProfileData或this.$store.ajaxData,虽然this.$store已定义,但我已经能够阅读它.我还看到在浏览器控制台中ProfileData添加到_modules商店属性的对象.
访问注册的模块我做错了Vuex什么?我怎样才能访问这些?
我刚刚发现model除了 之外还有一个名为 的属性data,但不幸的是我在 Vue 文档中找不到任何关于此的信息。它是什么?如果这就是我期望的实际数据模型,那么它有什么优势data呢?应该在哪里以及如何使用它?
现代 C# 支持嵌套函数的定义。例如:
public bool Test(params int[] args) {
bool isNumberValid(int i) {
return i > 0;
}
foreach(var n in args) {
if(!isNumberValid(n)) {
return false;
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
上面的例子我只是作为一个测试用例场景写的,能不能重构也无所谓。现在的问题是,isNumberValid函数创建了多少次?它是否只创建一次,从而被编译器移到父功能块之外?还是在调用父函数时在运行时重新创建(作用域在父堆栈下)?
不是Java的粉丝,但Java不允许为泛型类设置类型,在这种情况下,它会将类型威胁为Object类型.但是,据我所知,C#强制设置<T>通用类必须实例化或简单使用时的类型.但是,假设我们有一个泛型类,我们需要一个不依赖于类型的静态方法<T>.
首先,我们知道它可以移动到一个单独的上下文,或者我们可以设置一个虚拟类型<T>,但作为一个编程难题,有没有办法调用它而不定义类型T?
例:
class Test<T> where T: ITestable {
...
public static void CreateTestFile(String fileName) {...}
}
Test.CreateTestFile("test.txt");
Run Code Online (Sandbox Code Playgroud)
这可以用Java完成,显然不能用C#.但我只是想确定一下.
我被问及Web API和RESTful服务之间的区别,这对我来说也是一个有趣的问题.从我的角度来看,RESTful服务和Web API之间唯一可能的区别可以被认为是RESTful服务本质上意味着无状态(虽然我们可以使用cookie),而本质上无状态的概念不适用于Web API因为我们可以使用会话(不能在RESTful服务中使用).
但是,我决定发布这个问题,看看是否存在将这两种技术相互区分的任何其他潜在差异.
关于 Mongo 是 NoSql 数据库的事实,并考虑到 NoSql Dbs 对 RAM 的严重依赖,我一直想知道在以下情况下会发生什么?
假设我在服务器中安装了 MongoDb,并且我正在文档中记录付款。例如:
{
UserId: "X-123456",
//Rest of user data,
Payments: [
{
TransactionId: "X-123456"
//Rest of payment data
}
]
}
Run Code Online (Sandbox Code Playgroud)
当用户付款时,服务器收到付款成功响应,在响应添加到文档后大约几秒钟内,电源熄灭,服务器关闭。例如:
1- Response received at 04.01.01.100
2- Response added to Mongo Document at 04.01.01.300
3- Power goes out at 04.01.05.00
Run Code Online (Sandbox Code Playgroud)
在这种情况下,数据会发生什么变化?它还会出现在User文档中吗?
我注意到,当我编写以下代码时,编译器会生成missing return statement error:
// Similar loops make sense in retry patterns
// but this is just a simple example
func TestMethod() int {
for i := 0; i < 10; i++ {
return 0
}
}
Run Code Online (Sandbox Code Playgroud)
这是在编译时没有任何错误的情况下:
func TestMethod() int {
for {
return 0
}
}
Run Code Online (Sandbox Code Playgroud)
第一个代码在逻辑上和技术上都很好,因为该方法不可能无法返回。编译器显示该错误有什么原因吗?或者这是某种缺失的逻辑或错误?
当需要在动作API中创建文件夹时,是否会涉及任何并发问题?如果是这样,正确的解决方案是使用锁,如下面的代码所示
public async Task<IActionResult> UploadFile(User user){
...
var file = HttpContext.Request.Form.File["SomeFile"];
...
var path = Path.Combile(hostingEnvironment.WebRoot, configurationRoot["BaseDirectory"], user.Id);
lock(path){
if(!Directory.Exists(path)){
Directory.CreateDirectory (path);
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
将path变量用作锁定对象也是合乎逻辑的吗?
给定以下函数:
void test(queue<string>* out) {
queue<string> abc = queue<string>();
abc.push("abc");
out = &abc;
}
Run Code Online (Sandbox Code Playgroud)
理论上,abc变量是在堆栈上分配的,并且在函数结束时它必须自动从堆栈中弹出。但我将该变量的引用分配给out作为指针的参数。那么,当调用该函数的上下文传递一个指针来捕获输出时,会发生什么?换句话说,这个手术到底安全吗?
为了把问题说清楚,下面的函数是否与上面的函数等价:
void test(queue<string>* out) {
out->push("abc");
}
Run Code Online (Sandbox Code Playgroud) c# ×3
vue.js ×2
vuejs2 ×2
.net-core ×1
asp.net-core ×1
c++ ×1
concurrency ×1
control-flow ×1
for-loop ×1
generics ×1
go ×1
mongodb ×1
persistence ×1
rest ×1
vuex ×1
vuex-modules ×1
web-services ×1