小编Cle*_*man的帖子

不同项目中的实体框架5和Visual Studio 2012 POCO类

在VS 2010和EF 4.4中,您可以在Entity Framework中使用DBContext生成器时移动和编辑.tt文件,以便您的POCO对象位于与DBContext文件不同的项目中.

请参阅此处此处以了解我所谈论的内容.

在VS2012/EF5中,这似乎是不可能的.POCO类是作为EDMX文件下的子项生成的.无法从Visual Studio中复制文件.从资源管理器中移动文件没有帮助,因为您移动的文件会在编译时重新创建.

我错过了一些基本的东西吗?

我没有使用EF5的任何代码生成项目(而我使用的是EF4.x.)这可能是区别吗?

entity-framework visual-studio-2012

21
推荐指数
2
解决办法
2万
查看次数

在Visual Studio 2010中使用多个监视器的最佳实践

既然Visual Studio 2010支持多个显示器,我很好奇其他人如何安排他们的环境.我还没有想出一个我非常满意的安排.

我为我的2监视器系统提出的当前最好的是将所有代码窗口分离.然后,在我的主监视器上,我可以并排放置两个代码窗口(使用Windows 7键盘快捷键WinKey + LeftArrow和WinKey + RightArrow.)在我的辅助监视器上,我将所有工具放在IDE的其余部分通常位于底部的窗口(错误列表,查找窗口,调用堆栈等等)停靠在代码窗口通常所在的位置.我也尝试过将所有这些东西分开并且在IDE中几乎没有任何东西.

这种布局的问题是:

  • 新打开的代码窗口始终在IDE中打开,而不是在其中一个分离的窗口上打开.
  • 分离的代码窗口不记得它们在会话之间的确切位置(它们略微关闭,让我一次又一次地为每个窗口使用winkey +箭头键快捷键.
  • 似乎没有办法让代码窗格意识到它们彼此重叠(IE - 多个标签).
  • CTRL + TAB快捷方式始终显示在IDE正确的顶部.
  • 代码窗格始终位于IDE的(子级)之上.因此,单击任何代码窗格都会将IDE带到前台,即使我只关心该代码窗格而不是IDE.
  • 其他更小的问题......

使这更好的方法将是让代码窗格分离,使得它们是可以将其他代码窗格停靠在其中的标签条.

VS2010中新的多显示器支持很好,但它似乎仍然缺乏.

这些问题可以通过加载项解决吗?如果是这样,有人知道吗?

有没有一种更好的方法在多台显示器上使用IDE而不是我在做什么?

注意:虽然这个问题是主观的(当然没有"这是最好的方式,而且是最终的答案")但我真的很想知道使用IDE的方法可能比我想出的更好.目的不是要开始"我最好的"火焰战.

visual-studio-2010 visual-studio

18
推荐指数
2
解决办法
1万
查看次数

Visual Studio 2010无法识别正确的源代码管理插件

我在使用不同源控制提供程序的不同项目上工作.Subversion,Git,TFS等......

为了处理Subversion,我安装了AnkhSVN.为了使用Git,我安装了Git源代码控制提供程序来处理TFS,......好吧,你明白了.

源控制信息将保存为解决方案文件的一部分.

然而,当我打开一个新项目时,Visual Studio会继续使用所选择的最后一个源控件提供程序.它似乎没有从解决方案文件中提取它.我总是要打开工具>选项对话框来切换提供者(这需要永远!)

这是我做错了吗?我希望Visual Studio能够根据打开的解决方案更改提供程序.

如果这是Visual Studio根本不做的事情,那么是否有一个宏或扩展会自动解决这个问题?

我不敢相信之前没有问过这个问题,但我没有在StackOverflow列表中看到任何可能已经有你答案的问题.遗憾的是,这似乎指向了"这只是我"的答案.

version-control visual-studio-2010

15
推荐指数
1
解决办法
3909
查看次数

你如何使用testdouble模拟typeorm的getManager?

在为typeorm创建单元测试时,我想模拟我与数据库的连接,这样我就可以运行单元测试,而无需连接到数据库(这是一件好事!)

我看到人们使用testdouble(我也在使用)嘲笑typeorm的存储库的地方,但我试图用getManager做这个,并且我正在解决如何使它工作的问题.

这是一个例子.我有一个类,在构造函数中,通过使用getManager()为名为'test'的连接创建一个EntityManager:

export class TestClass {
    constructor() {
        const test: EntityManager = getManager('test');
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想测试我可以简单地创建这个类.这是一个示例(使用mocha,chai和testdouble):

describe('data transformer tests', () => {
    it('can create the test class', () => {

        // somehow mock getManager here

        const testClass: TestClass = new TestClass();
        chai.expect(testClass, 'could not create TestClass').to.not.be.null;
    });
});
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,我从typeorm获得此错误消息:

ConnectionNotFoundError: Connection "test" was not found.
Run Code Online (Sandbox Code Playgroud)

以下是我试图模拟getManager的一些事情:

td.func(getManager)
Run Code Online (Sandbox Code Playgroud)

与上面相同的错误.

td.when(getManager).thenReturn(td.object('EntityMananger'));
Run Code Online (Sandbox Code Playgroud)

得到消息:

Error: testdouble.js - td.when - No test double invocation call detected …
Run Code Online (Sandbox Code Playgroud)

unit-testing node.js typescript typeorm testdoublejs

13
推荐指数
1
解决办法
2326
查看次数

C#查找搜索结果显示的相关文档片段

在开发搜索我正在构建的站点时,我决定采用廉价而快捷的方式使用Microsoft Sql Server的全文搜索引擎,而不是像Lucene.Net那样更强大的东西.

不过,我希望拥有的功能之一是google-esque相关文档片段.我很快发现确定"相关"片段比我意识到的更难.

我想根据找到的文本中的搜索词密度选择片段.所以,基本上,我需要在文本中找到最密集的搜索词.通道是一些任意数量的字符(比如200 - 但它确实无关紧要).

我的第一个想法是在循环中使用.IndexOf()并构建一个术语距离数组(从先前找到的术语中减去找到的术语的索引),然后......什么?将任意两个,任意三个,任意四个,任意五个顺序数组元素相加,并使用具有最小和的那个(因此,搜索项之间的最小距离).

这看起来很混乱.

有没有一种既定的,更好的,更明显的方式来做到这一点,而不是我想出来的?

c# algorithm search significance relevance

10
推荐指数
1
解决办法
3445
查看次数

Visual Studio加载项自动附加到Development Server

是否有人知道Visual Studio 2010加载项会自动允许您附加到ASP.Net开发服务器的运行实例?如果当前有多个正在运行,请显示一个快速对话框,让您从运行的ASP.Net开发服务器列表中进行选择?

我为什么要这个?< - 随意跳过这一部分.

我通常开发/调试Web应用程序的方法是启动浏览器并浏览应用程序,直到我到达我想要的页面(可能有很多页面.)我不希望通过这些步骤附加调试器以用于各种原因(它比没有附加更慢,无关的断点可能被击中,我可能会在"抛出"打开时打破并且不想在应用程序错误被抛出时在应用程序中提前中断等等...)

我导航到我想要的页面,然后使用Visual Studio菜单调试>附加到进程,然后从"附加到进程"对话框中,我必须一直向下滚动(页面和页面以及进程页面),直到我找到我想要的WebDev.WebServer40.EXE进程并选择它.

这样做让我把手从键盘上移开并使用鼠标(我通常会尽量避免使用鼠标.)

这样做似乎是不必要的重复,因为如果我正在调试ASP.Net Web应用程序,我总是想附加到WebDev.WebServer40.exe的实例.

asp.net visual-studio-2010 web-development-server

8
推荐指数
1
解决办法
2393
查看次数

为什么自动列表成员会一直关闭?

在Visual Studio 2010中,有时在同一会话中(没有重新启动应用程序)intellisense被关闭.工具>选项>文本编辑> C#>语句完成,"自动列表成员"和"参数信息"中的复选框变为未选中状态.

我也安装了Resharper.但据我所知,Resharper并没有控制这种设置.

这可能每天发生几次,所有这些都没有重新启动Visual Studio.

visual-studio-2010

7
推荐指数
2
解决办法
2417
查看次数

每当包含JQuery时,Angular都会抛出错误


注意

这是指向再现问题的示例应用程序的链接


我在ASP.Net 4.6应用程序中使用SystemJS,JSPM,Angular和jQuery.但是,每当我尝试在应用程序中包含jQuery时,我都会遇到模块加载错误.

我上传了一个简单的应用程序,以重现问题到Dropbox:简单的应用程序,再现问题

(您将需要Visual Studio 2015才能运行)

基本上,在项目中有一个文件/scripts/app/app.js,如下所示:

import 'jquery';
import "angular";

var ByobApp = angular.module("ByobApp", []);
Run Code Online (Sandbox Code Playgroud)

当代码看起来像这样尝试运行应用程序时,您会看到这些错误(Chrome屏幕截图):

模块加载错误

但是,当您将代码更改为:

//import 'jquery';
import "angular";

var ByobApp = angular.module("ByobApp", []);
Run Code Online (Sandbox Code Playgroud)

(注释掉jQuery导入).应用程序将加载正常.

显然jQuery导入有问题.但我不知道是什么!

任何帮助都会很棒.


编辑

基于注释,我将_Layout.cshtml更改为这样(包括JQuery和Angular,而不尝试使用SystemJs加载它):

<script src="~/scripts/jspm_packages/npm/jquery@2.2.0/dist/jquery.min.js"></script>
<script src="~/scripts/jspm_packages/github/angular/bower-angular@1.4.8/angular.min.js"></script>
<script src="/scripts/jspm_packages/system.js"></script>
<script src="/scripts/config.js"></script>
<script>
    System.baseURL = "/scripts";
</script>
Run Code Online (Sandbox Code Playgroud)

我让app.js看起来像这样:

//import 'jquery';
//import "angular";

var ByobApp = angular.module("ByobApp", []);
Run Code Online (Sandbox Code Playgroud)

错误是一样的.


编辑2

如果我改为包含Zepto库,它可以正常工作.Zepto是jQuery API的1:1替代品,因此使用它完全相同!

angularjs systemjs

7
推荐指数
1
解决办法
1620
查看次数

扩展SQL Server 2008 Management Studio中的数据库列表比SQL Server 2005更长

仅仅是我,还是扩展SQL Server 2008 Management Studio中的数据库列表所花费的时间比扩展SQL Server 2005 Management Studio中的数据库列表要多得多?

如果不仅仅是我,是否有这种行为的解释?无论它在背景中做什么都需要更长时间,我们可以将其关闭吗?它是可配置的吗?

我知道,这似乎微不足道,但我对这需要多长时间感到惊讶.

sql-server

6
推荐指数
1
解决办法
7186
查看次数

CKEDITOR - DOM修改后无法恢复光标位置

我已经在几乎相同的问题上读到了这个优秀的答案.但是,我已经尝试了@Reinmar推荐的所有技术,但它们似乎都不起作用.

情况是我从编辑器中获取当前的HTML并将某些部分包装在span标签中.然后我将现在修改的HTML设置回来并尝试恢复用户的光标位置.没有技术可行.

这是一个重现问题的简单示例:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="//cdn.ckeditor.com/4.4.7/standard/ckeditor.js"></script>

</head>
<body>
    <textarea id="cktest"><p>Sometimes Lorem. Sometime Ipsum. Always dolor.</p></textarea>

    <script type="text/javascript">

        (function () {
            var checkTimeout;
            var bookmark;

            var storeCursorLocation = function(editor) {
                bookmark = editor.getSelection().createBookmarks();
            };

            var restoreCursorLocation = function(editor) {
                editor.getSelection().selectBookmarks(bookmark);
            };

            var validateText = function(editor) {
                storeCursorLocation(editor);
                var data = editor.document.getBody().getHtml();
                data = data.replace("Lorem", "<span class='err-item'>Lorem</span>");
                editor.document.getBody().setHtml(data);
                restoreCursorLocation(editor);
            };


            CKEDITOR.replace('cktest', {
                on: {
                    'instanceReady': function(evt) {

                    },
                    'key' : function(evt) …
Run Code Online (Sandbox Code Playgroud)

ckeditor

6
推荐指数
1
解决办法
1420
查看次数