我正在运行EF 4.2 CF并想在我的POCO对象的某些列上创建索引.
举个例子,假设我们有这个员工类:
public class Employee
{
public int EmployeeID { get; set; }
public string EmployeeCode { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime HireDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我们经常通过EmployeeCode对员工进行搜索,因为有很多员工,因为性能原因而将索引编入索引会很不错.
我们能用流利的api以某种方式做到这一点吗?或者数据注释?
我知道可以执行这样的sql命令:
context.Database.ExecuteSqlCommand("CREATE INDEX IX_NAME ON ...");
Run Code Online (Sandbox Code Playgroud)
我非常想避免那样的原始SQL.
我知道这不存在,但寻找沿着这些方向的东西:
class EmployeeConfiguration : EntityTypeConfiguration<Employee>
{
internal EmployeeConfiguration()
{
this.HasIndex(e => e.EmployeeCode)
.HasIndex(e => e.FirstName)
.HasIndex(e => e.LastName);
}
}
Run Code Online (Sandbox Code Playgroud)
或者使用System.ComponentModel.DataAnnotations
POCO可能看起来像这样(我知道这不存在):
public class Employee
{ …
Run Code Online (Sandbox Code Playgroud) c# fluent-interface entity-framework-4 data-annotations ef-code-first
假设我有一个C#控制器调用一些返回Task的任意函数(例如,因为它执行数据库事务).我应该总是使用异步和等待,还是应该只返回任务?
示例控制器:
public async Task<string> DoSomething() {
return await SomeOtherFunctionThatReturnsATask();
}
Run Code Online (Sandbox Code Playgroud)
我应该把它改成:
public Task<string> DoSomething() {
return SomeOtherFunctionThatReturnsATask();
}
Run Code Online (Sandbox Code Playgroud)
还是真的没关系?
也许是一个简单的问题,但是我很难找到答案.我经常在使用TFS作为源代码控制的客户端工作,他们完全避免使用TFS源代码控制的无基本合并功能
部分是因为在过去它需要一个命令行工具来完成它,但可能更重要,因为当你现在在界面中执行它时,它会显示一个黄色惊叹号警告符号,你确实在执行无基础合并.
这种吓跑他们让他们完全避免它.我一直在寻找,以确定是否有任何特定的风险涉及无基础合并,但我无法找到它(或有关无底合并如何工作的详细信息)
我正在努力让拖拉机工作,但我似乎完全忽略了getData/setData的工作原理.
我正在使用此代码(http://jsfiddle.net/ASKte/218/)
var el = angular.element(document.getElementById('drag'));
el.attr("draggable", "true");
el.bind("dragstart", function(e) {
e.dataTransfer.setData('text', 'Where have you gone?!?!')
});
var target = angular.element(document.getElementById('drop'));
target.bind("dragover", function(e) {
if (e.preventDefault) {
e.preventDefault(); // Necessary. Allows us to drop.
}
return false;
});
target.bind("dragenter", function(e) {
console.debug(e.dataTransfer.types);
console.debug(e.dataTransfer.getData('text'));
});
Run Code Online (Sandbox Code Playgroud)
我在这里使用AngularJS,因为这是一段更大的代码片段.
出于某种原因,当拖动底部正方形的顶部正方形时,getData('text')的值始终为空,但我不知道为什么......
有任何想法吗?
提前致谢.
安装Visual Studio 2012并从包含两个"网站"类型项目的Team Foundation Server打开/升级Visual Studio 2010解决方案后,我不断收到"项目'网站'已在环境外修改"的消息,并带有选项每次我向"网站"项目添加或删除文件时重新加载.
这很奇怪,因为据我所知,这种类型的项目没有项目文件,因此无法编辑它,此外,没有人在环境之外编辑任何东西.
有谁知道这是什么原因以及如何解决?
作为Web开发人员,我发现自己一直在将调试器挂钩到IIS进程.在visual studio 2012中,这意味着您必须拥有提升的权限.一般来说,这不是问题,只需将VS2012设置为以管理员身份运行即可.
但是,这样做无法将文件从Windows资源管理器拖到VS2012中.懒得使用打开的文件对话框,我更喜欢在那里拖动文件.
UAC阻止您这样做,因此在Windows 7中我们只需关闭UAC并完成它.在Windows 8中,这不起作用.
互联网上有很多关于如何在Windows 8中禁用UAC的指南.大多数人只是说你应该将滑块移动到按钮上.但这并没有实际禁用UAC,尝试此操作后仍然无法将文件拖放到Visual Studio 2012中.
其他指南则提到通过更改注册表设置来禁用UAC.这会关闭UAC并允许您将文件拖放到VS2012中,但这样做的副作用是Metro应用程序无法再运行.显然这有点太糟糕了......
有没有人对如何能够有任何想法
提前致谢
我正在尝试让我的ASP.NET应用程序在应用程序池运行时自动启动.
根据网上很多很多参考资料,我已经完成了以下工作:
StartMode=AlwaysRunning
preloadEnabled=true
Application Initialization
功能安装到Windows安装<applicationInitialization>
节点添加到web.config的<system.webServer>
节点Web应用程序基于Owin,并且在其Startup.Configuration()
方法中有一个简单的log4net日志记录语句.现在重新启动IIS时,我看到w3svc.exe进程正在运行,所以我知道它StartMode=AlwaysRunning
正在运行.但是,日志文件中没有日志消息.
导航到应用程序中的任何URL(甚至是不存在的URL)将启动应用程序并添加日志行.
由于在应用程序启动时所做的实际工作,我真的希望应用程序真正预加载,但我似乎无法完成它.
搜索这个网站遗憾的是我无法找到解决方案.
提前致谢.
我正在寻找一种方法来从另一个组件的代码中实例化Angular2中的组件.与许多提出类似问题的人不同,我对动态编译新组件并不感兴趣,只是实例化并插入已存在于我的应用程序中的组件.
例如:
说我有两个组成部分:
仪表板item.component.ts
import { Component } from "@angular/core";
@Component({
selector: "dashboard-item",
template: "Some dashboard item with functionality"
})
export class DashboardItemComponent {
constructor() {}
onInit() {}
}
Run Code Online (Sandbox Code Playgroud)
dashboard.component.ts
import { Component } from "@angular/core";
@Component({
selector: "dashboard",
template: "<h1>Dashboard!</h1><div #placeholder></div>"
})
export class DashboardComponent {
constructor() {}
onInit() {}
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是一种在DashboardComponent的onInit中创建DashboardItemComponent并将其添加到#placeholder div的方法.
有两点需要注意:
这两个早期的问题提出了类似的问题,但他们的答案要么相当平淡,要么与Angular2的早期(beta)版本相关,而且似乎不再起作用.
我们使用 Git 作为我们的源代码控制系统,我喜欢定期提交我的代码。这确实意味着当我准备推送到共享存储库时,我已经创建了很多无意义的提交,我想在推送之前将其压缩掉。
使用 SourceTree 应该是一件简单的事情,但我一直遇到问题,即并非所有选定的提交都被压缩在一起。让我展示一些我使用带有一些签入的示例存储库所做的事情的图像:
我单击第一个检查并选择“以交互方式重新设置子项”
所有签入都会出现一个弹出窗口:
在此弹出窗口中,我单击“第五次”签到并用前 3 次击打壁球,直到屏幕如下所示:
你会认为一切都很好,但是当点击“确定”按钮时,这就是我最终得到的结果:
为什么哦为什么它不包括最终结果中的“第二次”提交?从弹出窗口的外观来看,您会认为这也包括在内。我可以再次做同样的事情来获得第二个,但我无法理解为什么它会以这种方式工作,或者如何一次将它们全部压扁。
任何帮助,将不胜感激。
我们在一些项目中使用 NodeJS 并面临一个必须有一个简单解决方案的问题(因为其他人似乎没有这个问题)。
在packages.json 中提到了一堆最低版本的依赖项,每个依赖项都可能有自己的重叠依赖项。添加依赖项的默认方式是使用 ^ 运算符,这似乎意味着“兼容”或“相同的主要版本,但次要版本可能不同”。
我理解 npm 的工作方式是npm install
采用匹配的最高次要版本。不幸的是,“兼容”并没有像您希望的那样强制执行。
这让我们陷入的情况是,例如在开发人员机器上安装了 1.1.0 版本,但在开发和发布之间引入了一个有错误的新版本 1.2.0。在我们的构建机器上进行了新的构建,最终使用 1.2.0 并且我们引入了一个在开发中不存在的错误。
例如,我们尝试将 ^ 运算符更改为 =,但是当依赖项具有与请求的版本不兼容的子依赖项时,这会给我们带来麻烦。
总而言之,我有点困惑,但是npm install
只要有变化,这个东西就会一直困扰着我们,因为如果包已经存在,开发机器不会做任何事情,但是构建机器总是得到新的副本。
我从 NuGet 知道它总是采用符合所有组合要求的最低版本。由于这对于给定的一组依赖项总是相同的,因此我更喜欢这种方法。有没有办法让 npm 也像这样工作?
c# ×2
angular ×1
angularjs ×1
asp.net ×1
async-await ×1
autostart ×1
dependencies ×1
git ×1
iis ×1
javascript ×1
npm ×1
npm-install ×1
sourcetree ×1
tfs ×1
tfs2013 ×1
uac ×1
windows-8 ×1