我在Visual Studio 2013 ASP.NET MVC 5项目中遇到了一个奇怪的问题.突然之间,MVC 5项目的Controller类中的IntelliSense根本不起作用.
我的解决方案中有其他类库项目,IntelliSense正在这些类库项目文件中工作,但问题只出在MVC项目中.通常通过重新启动Visual Studio来解决这些问题:我不仅重新启动Visual Studio,而且还重新启动了计算机,并且IntelliSense问题根本没有得到修复.
还有其他步骤可以让我恢复智能感知吗?
当我尝试从Visual Studio创建一个新的SQL Server Compact文件 - >添加新项时,我没有再看到"本地数据库"选项,这实际上是添加SQL Server Compact Database的方法.现在,如果真的从微软停止使用,那么微软推出的桌面应用程序嵌入式数据库技术是什么?我尝试了SQLite,但部署是SQLite的头疼,因为用户可能没有在他/她的机器上安装正确版本的Visual C++ distributable.
我正在尝试ASP.NET MVC 5的Browserlink功能,一切都适用于非SSL页面.但是如果我导航到SSL页面(使用https url),我会在浏览器链接仪表板中看到0个连接.那么,浏览器链接是否适用于非SSL网址?或者我错过了任何允许我获取SSL和非SSL网址的浏览器链接连接的设置?
(我正在从IIS测试)
我正在使用Entity Framework CodeFirst,我使用ICollection作为父子关系
public class Person
{
public string UserName { get;set}
public ICollection<Blog> Blogs { get; set;}
}
public class Blog
{
public int id { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
好的,到目前为止一切正常,但我担心的是,每当我想获得一个人的博客时,我就把它当成了
var thePerson = _context.Persons.Where(x => x.UserName = 'xxx').SingleOrDefault();
var theBlogs = thePerson.Blogs.OrderBy(id).Take(5);
Run Code Online (Sandbox Code Playgroud)
现在,我明白,当执行该行时,该人的所有博客都会加载到内存中,然后从内存中进行排序和选择.这对于拥有大量博客的人员的记录来说并不理想.我想将Blog Child设为IQueryable,以便在拉到Memory之前在SQL数据库中完成排序和选择.
我知道我可以在我的上下文中将Blogs声明为IQueryable,以便我可以直接查询为
var theBlogs = _context.Blogs.Where(.....)
Run Code Online (Sandbox Code Playgroud)
但由于设计选择,这对我来说是不可行的,因为序列化问题,我想尽可能避免任何循环引用.所以,我没有在我孩子的父母实体中做任何参考.
我发现,我可以在博客上调用AsQueryable()方法
var theBlogs = thePerson.Blogs.AsQueryable().OrderBy(id).Take(5);
Run Code Online (Sandbox Code Playgroud)
这看起来对我来说太神奇了,看起来好得令人难以置信.所以我的问题.这个AsQueryable是否真的使ICollection成为现实中的IQueryable并在SQL Server中进行所有查询过程(延迟加载)或者它只是一个将博客像以前一样加载到内存中的转换,但是将接口从ICollection更改为IQueryable?
c# iqueryable icollection ef-code-first entity-framework-4.1
我有一个奇怪而烦人的问题。在我的 ASP.NET MVC 5 项目中,我不时看到 _ViewStart 文件和 Shared/_Layout.cshtml 文件是自动创建的,即使我不想要。因此,我删除了这些文件,但这些文件会不时地自行创建。这会导致一个很大的问题,因为有时,如果我没有注意到创建了这些文件,我可能会不小心发布网站,然后在发布后,我注意到所有页面都被自动创建的 _Layout.cshtml 文件包裹。它是 Visual Studio 2013 的智能帮助功能吗?我们不能阻止吗?
在尝试正式发布Visual Studio 2017之前,我安装了Visual Studio 2017 RC,发现无法识别我现有的Git存储库。即使我确保将Source Control插件设置为Git,如下图所示。
然后,我想,也许只是因为RC版。无论如何,今天发布了Visual Studio 2017的正式版,我已经重新安装了。我看到同样的问题。有人遇到过同样的问题吗?这个问题有什么解决方案?我认为我不需要单独安装Git Extension,因为Visual Studio已经预安装了该扩展。
我是一个C#开发人员,我非常习惯于在同一个声明语句中初始化一个变量
ClassA myClass = new ClassA();
Run Code Online (Sandbox Code Playgroud)
就我而言,这种做法简洁,可读性更好,看起来很整洁.
现在,我正在学习java for android.到目前为止,无论我遇到什么java片段,我看到片段编写器使用的代码如下:
ClassA myClass;
myClass = new ClassA();
Run Code Online (Sandbox Code Playgroud)
现在,我理解,我的问题可能听起来很愚蠢,但真的很好奇,是否有任何影响/影响,或者这两种方法有什么区别?我的意思是,如果我在java中编译代码如下:
ClassA myClass = new ClassA();
Run Code Online (Sandbox Code Playgroud)
内部有什么关系吗?我只是想确定我没有做错任何事.
我有一个简单的问题.我设计了一个C#类,我有一些属性getter负责执行一些性能昂贵的任务.我班上有很多这样的房产.我的问题是,只要将类的实例加载到内存中,就会评估那些属性getter吗?如果是这样,那么,我会考虑将它们分解为方法.我希望他们只在第一次使用该属性时进行评估,但我需要确定这个假设.
我知道我应该使用方法来处理昂贵的任务,但我发现使用Properties更易于维护,因为我在一个类中有很多成员.
谢谢.
c# ×2
browser-link ×1
git ×1
icollection ×1
intellisense ×1
iqueryable ×1
java ×1
properties ×1