小编sur*_*gle的帖子

从DbSet转换为IEnumerable会导致查询执行吗?

我的Logs存储库中有以下两种方法.

public IEnumerable<Log> GetAll()
{
   var db = new CasLogEntities();
   return db.Logs;
}           


public DbSet<Log> GetAllSet()
{
   var db = new CasLogEntities();
   return db.Logs;
}           
Run Code Online (Sandbox Code Playgroud)

唯一的区别是一个返回一个IEnumerable的Log,另一个返回一个DbSet的Log.

在我的资产控制器中,我有以下代码

var allLogs = _logRepo.GetAllSet();
var Logs = (from log in allLogs
              group log by log.DeviceId
              into l
              select new {DeviceId = l.Key, TimeStamp = l.Max(s => s.TimeStamp)}).ToList();
Run Code Online (Sandbox Code Playgroud)

现在问题是我在group by语句中获得了巨大的性能差异,这取决于我调用哪个repo方法.

  • 返回DbSet的getAllSet快速闪电,
  • GetAll返回IEnumerable真的很慢.

任何人都可以解释一下.我当时认为在GetAll中将DbSet转换为IEnumerable导致Query执行,因此我在一个庞大的内存集中执行该组.而当GetAllSet将查询执行推迟到"ToList()"时,因此在服务器上通过工作来执行该组.

它是否正确?还有另一种解释方法吗?

我更喜欢让GetAll返回IEnumerable,因为我对它更熟悉并且它更容易进行测试.

entity-framework dbset

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

数据库连接错误"正在使用的文件"

我正在使用Visual Studio 2010 C#Express和SQL Server Management Studio与SQL Server 2012我在尝试将数据库连接到Windows窗体项目时收到错误.

"This file is in use.  Enter a new name or
close the file that is open in another program"
Run Code Online (Sandbox Code Playgroud)

我在网上试图找到一个解决方案但没有工作.所以我决定创建一个全新的数据库和一个全新的项目.但我仍然得到错误!

这是我使用的步骤:

  • 首先,我连接到我的本地托管服务器
  • 然后我右键单击Databases并选择New Database并命名school
  • 然后我右键单击tables我的新数据库上的文件夹并选中new table
  • 我添加了表格 student, course, enrolled
  • 最后我把一些虚假的条目扔进了它

现在我跳到VS.

  • New Project然后我选择Windows Forms Application并命名Registrar
  • 然后我点击 add new data source
  • databaseChoose a data source type窗口中 选择
  • 然后我DatasetChoose a Database Model窗口中 选择 …

sql-server visual-c#-express-2010

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

模块化Java ee应用程序

我需要重构一个Java EE应用程序,因为当前的设计不是很模块化,事实上它实在是一团糟.有一个商业门面,但由于应用程序是由几个人开发的,因此原始设计被忽略了几次.该应用程序当前正在使用JSF在tomcat上运行,但很快就会被移植到websphere.我已经对不同的设计模式进行了一些研究,以便从视图中封装业务逻辑,以及如何使应用程序模块化,以便更容易为其添加更多功能,因为将来应用程序将得到增强.我读过有关OSGI的内容,但我认为这将是一种矫枉过正.

该应用程序已分层.但我远没有定义API.我已经清理过应用程序了.现在,所有bean都通过业务外观方法访问业务逻辑.但业务外观包含大约40种方法,我认为这些方法并不是很好.

第三方编辑

例如,我有这些模型类

  • ManageLdap与类似的方法createAccountdeleteAccount
  • GroupManager 管理ldap组

在商业门面我有一个方法,createAccount

  • 调用ManagerLdap该类来创建一个ldap帐户和
  • 做一些伐木也
  • 电话 GroupManager

这个伪代码

package Model.ManageLdap

public class ManageLdap 
{
  public ldapAccount createAccount() {  }

  public ldapAccount deleteAccount() {  }
}

public class GroupManager
{
  public bool addAccountToGroup(var account) {  }
}
Run Code Online (Sandbox Code Playgroud)

并在商业门面

package BusinessFacade.Foo

public class SomeFoo
{
  public ldapAccount createAccount() 
  { 
    var ldapAccount = new ManageLdap.createAccount();
    Logger.log("Account created");
    var accountWasAdded = GroupManager.addAccountToGroup(ldapAccount);
  }     
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我想为应用程序添加其他功能,例如为用户创建subversion存储库的选项

  • 我必须实现一个模型类来创建repos,
  • 把一些方法放在业务门面和
  • 创建一个要由视图访问的其他bean.

这使得立面更大,更令人困惑,但除此之外,这不是我所说的模块化设计.

那么如何在没有巨大业务外观的情况下从视图中分离业务逻辑呢?

java architecture java-ee

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

无法连接到我自己的 MDF 文件。无法打开用户默认数据库。登录失败。用户登录失败...以及其他错误

SQLSEXPRESS 服务正在运行!

\n\n

我有我前一段时间写的程序并且它有效。它是在 MS Visual Studio 中使用本地 MDF 文件编写的。

\n\n

如何从 Microsoft SQL Server Management Studio 编辑此文件?我在全局连接的数据库列表中没有看到此文件。

\n\n

如果我尝试使用 Visual Studio 向导附加此文件,我会收到这样的消息:此类数据库已存在,但当我设置任意逻辑名称时,我会遇到共享冲突。

\n\n

如何到达MDF文件?

\n\n

编辑1

\n\n

现在我发现我的程序也停止工作了。

\n\n

访问 MDF 文件的不同尝试的结果摘要:

\n\n
    \n
  1. 程序本身System.Data.SqlClient.SqlException(0x80131904):无法打开用户默认数据库。登录失败。用户 登录失败<username>。(Windows用户)
  2. \n
  3. Visual Studio,数据源 = Microsoft SQL Server,逻辑名称 = ""错误消息: 尝试为文件附加自动命名数据库\n<filename>失败。存在同名数据库,或者\n无法打开指定的文件,或者该文件位于 UNC 共享上。
  4. \n
  5. Visual Studio,数据源 = Microsoft SQL Server,逻辑名称 = SOMENAME错误消息无法打开物理文件<filename>。操作系统错误 32:“32(进程无法访问该文件,因为该文件正在被另一个进程使用)”。\n无法将文件附加<filename>为数据库 \xe2\x80\x98SOMENAME\xe2\x80\x99。
  6. \n
  7. Visual Studio,数据源 = Microsoft SQL Server 数据库文件,Windows …

sql-server sharing mdf

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

mysql日志文件是空的虽然我似乎已经设置了eveything

我试图获取我的mysql服务器的日志文件:

mysql Ver 14.14 Distrib 5.5.22,debian-linux-gnu(x86_64)使用readline 6.2

正如我在许多网站上看到的那样,我在/etc/mysql/my.cnf中取消注释这些行:

general_log_file = /var/log/mysql/mysql.log

general_log = 1

在运行mysql之后我检查了/var/log/mysql/mysql.log没有创建.如果网站建议我运行了2个命令:

触摸/var/log/mysql/mysql.log

chown mysql:mysql /var/log/mysql/mysql.log

无论如何,没有日志!该文件为空.并且据我搜索网页获取mysql日志简单明了...

mysql logging

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

Firefox中会自动触发完整日历事件超链接

我正在使用带有可拖动事件的完整日历.我在事件对象中指定了一个url,导致事件链接到页面.每当我在IE或Chrome中拖动一个事件时,点击事件都不会触发(这很好).但它确实在Firefox中.有一个名为eventClick的事件由完整日历提供,但显然在超链接重定向之前不会触发.有没有办法防止拖动触发click事件而不使用一些jQuery hack?

firefox calendar click drag

5
推荐指数
1
解决办法
508
查看次数

Windows 8将应用程序存储为企业软件

我正在编写Windows 8商店应用程序,但该应用程序是供公司内部使用的.该应用程序需要在100多个平板电脑上运行,因此安装过程非常简单.

所以,我一直在使用Windows 8商店模板来创建我的应用程序,但我现在需要在我的设备上获取此应用程序.如何在不通过Windows 8商店发布流程的情况下执行此操作?

我已经将应用程序安装在几个平板电脑上进行测试,但我需要一个开发人员许可证,它每30天就会过期一次.

那么有没有将Windows 8商店应用程序作为企业解决方案发布?

我可以使用WPF来创建我的应用程序,但控件对于触摸屏环境来说并不是那么流畅或不错.

任何帮助都会很棒.谢谢

c# touchscreen windows-runtime windows-store-apps

5
推荐指数
1
解决办法
757
查看次数

有什么方法可以在开发人员工具中模拟onmouseover吗?

我知道Firefox提供了一种模拟悬停,活动和焦点过滤器的方法。

在此处输入图片说明

有什么方法可以模拟onmouseover高程?

我想一起模拟两个元素,这可能吗?

我没有为此目的找到任何扩展。先感谢您。

javascript firefox onmouseover firefox-developer-tools

5
推荐指数
2
解决办法
1397
查看次数

执行具有多个结果集的存储过程

我正在使用 SSIS 2016。

  • 存储过程返回 4 个结果集。
  • 只有第一个结果集是相关的,需要写入表中。
  • 我无法修改存储过程。
  • 我不关心其他结果集中返回的任何数据。

存储过程位于 SQL Server 2016 数据库中。结果也将驻留在 SQL Server 2016 中。

我目前在 SSIS 2008 中使用 OLE DB 源中的“SQL 命令”数据访问模式运行此进程,如下所示。我将其放在 For Each 循环容器中,以便将一系列参数值传递给存储过程,因为我每天对不同的参数值执行多次。

SET FMTONLY OFF;

EXEC myProc
     @Param1 = ?,
     @Param2 =?,
     @Param3 = ?;
Run Code Online (Sandbox Code Playgroud)

默认情况下,SSIS 2008 仅返回第一个结果集,这对我有用,因为我只关心第一个结果集。

我正在使用本机 OLEDB SQL Server 客户端。据我所知,它改变了处理多个结果集的方式。我已经使用 来WITH RESULT SETS定义第一个结果集,但是如果我执行 SSIS 将失败,指示需要定义其他结果集。

简而言之,在 SSIS 2016 中复制 SSIS 2008 中的功能的最佳方法是什么?

sql-server ssis etl ssis-2008 ssis-2016

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

dotnet-run 命令未按预期工作

我想在 VS code 中运行 .NET Core 项目的简单演示。dotnet build当我在 VS Code 终端中运行时,它按预期工作。但问题是,在同一个项目中,当我运行dotnet run时,出现以下错误:

找不到要运行的项目。确保 C:\Users\hp\Desktop\HW-3\FirstTestApp 中存在项目,或使用 --project 将路径传递到项目。

这个错误对我来说完全出乎意料,因为这个项目应该正常工作,但事实并非如此。其实我对VS Code不太熟悉。

cmd.exe dotnet 运行失败

简单化dotnet builddotnet run创建此输出

PS C:\FirstTestApp>dotnet build
Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

   Restore completed in ... for \FirstTestApp\FirstTestApp\FirstTestApp.csproj
   FirstTestApp -> C:\ ...\FirstTestApp.dll
   FirstTestApp -> C:\ ...\FirstTestApp.Views.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

PS C:\FirstTestApp>dotnet build
Couldn't find a project to run. Ensure a …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc asp.net-core-mvc visual-studio-code asp.net-core

5
推荐指数
1
解决办法
9748
查看次数