我正在Visual Studio 2008中构建一个包含大量多值参数的报表,它工作得很好,但我想在打开报表时将"(全选)"选项作为默认值.
是否有某种表达式或SQL代码可用于实现此目的?或者每次我想要运行报告时,是否每次都需要选择"(全选)"?
我想提出这个问题的背景.如果你愿意,可以跳过.很长一段时间以来,我一直密切关注stackoverflow和其他地方关于代码测试的正在进行的辩论,因为它与EF有关.一个阵营说,由于Linq与Objects&Sql和实现之间的差异,直接针对数据库进行测试.另一个人说通过嘲弄测试.
另一个意见分歧是使用存储库或接受DbContext和DbSet已经提供工作单元和存储库模式的问题.在我使用EF的时候,我已经尝试过这些阵营提供的各种意见组合.无论我做了什么,EF证明很难测试.
我很高兴地发现EF团队使得DbSet在EF 6中更具可模仿性.他们还提供了有关如何模拟DbSet的文档,包括使用Moq的异步方法.在处理涉及Web Api的最新项目时,我意识到如果我可以模拟EF,我可以跳过编写存储库,因为编写它们的正常原因是使事情变得可测试.在阅读了一些博客文章后,灵感来了......
- 背景结束---
实际问题是,遵循EF团队提供的关于如何使用Moq DbSet的示例代码,如果在任何代码中使用.Include(),则抛出ArgumentNullException.
这是我的DbContext界面:
public interface ITubingForcesDbContext
{
DbSet<WellEntity> Wells { get; set; }
int SaveChanges();
Task<int> SaveChangesAsync();
Task<int> SaveChangesAsync(CancellationToken cancellationToken);
}
Run Code Online (Sandbox Code Playgroud)
这是我的控制器处理的主要实体
public class WellEntity
{
public int Id { get; set; }
public DateTime DateUpdated { get; set; }
public String UpdatedBy { get; set; }
[Required]
public string Name { get; set; }
public string Location { get; set; }
public …
Run Code Online (Sandbox Code Playgroud) DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0)
Run Code Online (Sandbox Code Playgroud)
有人可以解释我这个.
如何将项目相对包含在项目根目录中?有点像<# @include file="~/Infrastructure/Manager.ttinclude" #>
拥有一个具有另一个视图模型属性的视图模型会被认为是不好的做法吗?...如:
public class PersonViewModel
{
public PersonJobViewModel Peron { get; set;}
//other properties here...
}
Run Code Online (Sandbox Code Playgroud)
编辑
更多关于我的具体情况:
我有一个视图模型,目前包含2个域类.我将此viewmodel传递给一个加载2个局部视图的视图(一个用于viewmodel中的每个域类)
因此,我最终将纯域模型直接传递到局部视图中.
我的想法是,我可以为每个域模型创建一个视图模型,然后将这些2包装到另一个传递给我父模型的视图模型中...
或者有更好的方法来实现这一目标吗?
有没有办法使用sequelize.js从表中选择不同的行?我查看了文档,但"finder方法"没有指定完成此任务的方法.
我有一个问题understandint ORDER BY
在MySQL
.我必须按3个标准对表格进行排序
1 - 首先我想按TYPE_OF_WORK排序,所以所有数据必须是按字母顺序排列的,比如
dech_rap_bus
dech_rap_bus
ger_dem_dech_bus
ger_dem_dech_bus
ger_dem_stp_pp
...
Run Code Online (Sandbox Code Playgroud)
结果=> http://sqlfiddle.com/#!2/b2a858/6
2秒我希望按PROJECT_VERSION排序,所以所有数据必须是按字母顺序排列的,但要尊重1个标准,例如
dech_rap_bus V123-V1234
dech_rap_bus V300
ger_dem_dech_bus V123-V1234
ger_dem_dech_bus V300
ger_dem_stp_pp V123-V1234
Run Code Online (Sandbox Code Playgroud)
结果=> http://sqlfiddle.com/#!2/b2a858/7
所以1和2工作得很好.
3 - 之后我想按列not_existing排序
结果=> http://sqlfiddle.com/#!2/b2a858/5
我不知道它到底做了什么,但我看不到任何结果......我只想要那个
dech_rap_bus V300
其中NOT_EXISTING列是1是在端部,并且是多个时NOT_EXISTING = 1到它们全部进行排序,但在表的末尾.
我认为2个选择的联盟会帮助我
/* Selecting all data where not_existing is not 1 or NULL ---> working good! */
(
SELECT
*
FROM
atm_mti_view
WHERE …
Run Code Online (Sandbox Code Playgroud) 真的我不知道怎么说它作为问题,但是举例来说,每个人都会清楚,我从MYSQL数据库检索的数据按列之一排序,我的问题是,如果这列中的其中一个值相等,我需要使用另一列来设置谁首先显示.
col1 - col2
10 - 100
20 - 120
20 - 140
30 - 90
Run Code Online (Sandbox Code Playgroud)
看到这里提到两次值20,所以我需要在使用MYSQL查询的120之前显示20与140之前的120.
我有很多 SQL 脚本,其中很多都使用了各种不同的变量,我希望能够将结果直接放入 Excel。希望尽可能“顺利”地做到这一点,以便当有人给我一个新的 SQL 脚本(可能相对复杂)时,设置收集其结果的电子表格相对干净。
目前正在尝试使用 ADODB 命令对象参数使其工作,但我什至无法获得一个非常基本的示例来工作。我有以下 VBA:
Dim oConnection As ADODB.Connection
Set oConnection = New ADODB.Connection
oConnection.ConnectionString = "MyConnectionString"
oConnection.Open
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
cmd.ActiveConnection = oConnection
Run Code Online (Sandbox Code Playgroud)
到这里只是建立连接,这似乎工作正常。
cmd.CommandText = "DECLARE @DateID integer;" & _
"SELECT TOP 10 * FROM dbo.SomeRecords " & _
"WHERE DateID = @DateID"
cmd.CommandType = adCmdText
Dim DateID As ADODB.Parameter
Set DateID = cmd.CreateParameter("@DateID", adInteger, adParamInput)
cmd.Parameters.Append DateID
DateID.Value = 20120831
Dim rst AS ADODB.RecordSet
Set rst …
Run Code Online (Sandbox Code Playgroud) sql ×4
sql-server ×2
.net ×1
adodb ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
excel ×1
linq ×1
mysql ×1
mysqli ×1
node.js ×1
oracle ×1
parameters ×1
sequelize.js ×1
t4 ×1
unit-testing ×1
vba ×1