我的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方法.
任何人都可以解释一下.我当时认为在GetAll中将DbSet转换为IEnumerable导致Query执行,因此我在一个庞大的内存集中执行该组.而当GetAllSet将查询执行推迟到"ToList()"时,因此在服务器上通过工作来执行该组.
它是否正确?还有另一种解释方法吗?
我更喜欢让GetAll返回IEnumerable,因为我对它更熟悉并且它更容易进行测试.
我正在使用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 database在Choose a data source type窗口中 选择Dataset在Choose a Database Model窗口中 选择 …我需要重构一个Java EE应用程序,因为当前的设计不是很模块化,事实上它实在是一团糟.有一个商业门面,但由于应用程序是由几个人开发的,因此原始设计被忽略了几次.该应用程序当前正在使用JSF在tomcat上运行,但很快就会被移植到websphere.我已经对不同的设计模式进行了一些研究,以便从视图中封装业务逻辑,以及如何使应用程序模块化,以便更容易为其添加更多功能,因为将来应用程序将得到增强.我读过有关OSGI的内容,但我认为这将是一种矫枉过正.
该应用程序已分层.但我远没有定义API.我已经清理过应用程序了.现在,所有bean都通过业务外观方法访问业务逻辑.但业务外观包含大约40种方法,我认为这些方法并不是很好.
第三方编辑
例如,我有这些模型类
ManageLdap与类似的方法createAccount和deleteAccountGroupManager 管理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存储库的选项
这使得立面更大,更令人困惑,但除此之外,这不是我所说的模块化设计.
那么如何在没有巨大业务外观的情况下从视图中分离业务逻辑呢?
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<username>。(Windows用户)<filename>失败。存在同名数据库,或者\n无法打开指定的文件,或者该文件位于 UNC 共享上。<filename>。操作系统错误 32:“32(进程无法访问该文件,因为该文件正在被另一个进程使用)”。\n无法将文件附加<filename>为数据库 \xe2\x80\x98SOMENAME\xe2\x80\x99。我试图获取我的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日志简单明了...
我正在编写Windows 8商店应用程序,但该应用程序是供公司内部使用的.该应用程序需要在100多个平板电脑上运行,因此安装过程非常简单.
所以,我一直在使用Windows 8商店模板来创建我的应用程序,但我现在需要在我的设备上获取此应用程序.如何在不通过Windows 8商店发布流程的情况下执行此操作?
我已经将应用程序安装在几个平板电脑上进行测试,但我需要一个开发人员许可证,它每30天就会过期一次.
那么有没有将Windows 8商店应用程序作为企业解决方案发布?
我可以使用WPF来创建我的应用程序,但控件对于触摸屏环境来说并不是那么流畅或不错.
任何帮助都会很棒.谢谢
我正在使用 SSIS 2016。
存储过程位于 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 中的功能的最佳方法是什么?
我想在 VS code 中运行 .NET Core 项目的简单演示。dotnet build当我在 VS Code 终端中运行时,它按预期工作。但问题是,在同一个项目中,当我运行dotnet run时,出现以下错误:
找不到要运行的项目。确保 C:\Users\hp\Desktop\HW-3\FirstTestApp 中存在项目,或使用 --project 将路径传递到项目。
这个错误对我来说完全出乎意料,因为这个项目应该正常工作,但事实并非如此。其实我对VS Code不太熟悉。
简单化dotnet build并dotnet 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
sql-server ×3
c# ×2
firefox ×2
architecture ×1
asp.net-core ×1
asp.net-mvc ×1
calendar ×1
click ×1
dbset ×1
drag ×1
etl ×1
java ×1
java-ee ×1
javascript ×1
logging ×1
mdf ×1
mysql ×1
onmouseover ×1
sharing ×1
ssis ×1
ssis-2008 ×1
ssis-2016 ×1
touchscreen ×1