HTML:
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary">
<input type="radio" name="options" id="option1" value="1" data-bind="checked: optionsValue"> Option 1
</label>
<label class="btn btn-primary">
<input type="radio" name="options" id="option2" value="2" data-bind="checked: optionsValue"> Option 2
</label>
<label class="btn btn-primary">
<input type="radio" name="options" id="option3" value="3" data-bind="checked: optionsValue"> Option 3
</label>
</div>
<br />
<span data-bind="text: optionsValue"></span>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
var ViewModel = function() {
this.optionsValue = ko.observable()
};
ko.applyBindings(new ViewModel());
Run Code Online (Sandbox Code Playgroud)
的jsfiddle:
我有上面的代码,我正试图按照我的预期工作.问题是当data-toggle="buttons"添加到btn-group div时(如在Bootstrap 3示例中),敲除绑定停止工作.如果我将数据切换关闭按钮组,则绑定按预期工作,但按钮组看起来很糟糕.我知道这在Bootstrap 2中不起作用,因为他们实际上没有使用无线电输入来进行无线电造型.它怎么会拒绝现在工作,即使他们这样做?
html javascript twitter-bootstrap knockout.js twitter-bootstrap-3
我正在尝试设置我的dbContext,以便它可以在单个Oracle数据库中处理多个模式.我不想要一个单片dbContext文件,所以我想出了以下内容:
public class oraDbContext : DbContext
{
static oraDbContext() {
Database.SetInitializer<oraDbContext>(null);
}
public oraDbContext(string connName)
: base("Name=" + connName) { }
public _schema1 schema1 = _schema1.Instance;
public _schema2 schema2 = _schema2.Instance;
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
schema1.OnModelCreating(modelBuilder);
schema2.OnModelCreating(modelBuilder);
}
}
Run Code Online (Sandbox Code Playgroud)
模式文件如下所示:
public sealed class _schema1
{
private static readonly _schema1 instance = new _schema1();
static _schema1() { }
private _schema1() { }
public static _schema1 Instance {
get {
return instance;
}
}
public DbSet<someTable> someTable { get; set; …Run Code Online (Sandbox Code Playgroud) 我有以下LINQ查询:
var queryGroups = (from p in db.cl_contact_event
select new Groups { inputFileName = p.input_file_name }).Distinct();
Run Code Online (Sandbox Code Playgroud)
运行时转换为以下内容:
SELECT
[Distinct1].[C1] AS [C1],
[Distinct1].[input_file_name] AS [input_file_name]
FROM ( SELECT DISTINCT
[Extent1].[input_file_name] AS [input_file_name],
1 AS [C1]
FROM [mel].[cl_contact_event] AS [Extent1]
) AS [Distinct1]
Run Code Online (Sandbox Code Playgroud)
现在我很确定有一个子选择的原因是因为我有()包围的基本LINQ查询,然后执行.Distinct()但我不太了解LINQ以确保这一点.如果确实如此,那么有一种方法可以重构/编码我的查询,以便不会发生子选择吗?
我知道这似乎我只是在这里挑选,但我只是好奇.
我有一个在Razor视图中构建的表,如下所示:
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.column1)</td>
...
...
</tr>
}
Run Code Online (Sandbox Code Playgroud)
我想在最后添加一个表的摘要,如:
<tr>
<td>@Model.Sum(a => a.column1)</td>
...
...
</tr>
Run Code Online (Sandbox Code Playgroud)
这实际上有效但它不使用我的数据注释,因为我没有使用DisplayFor().我尝试将Model.Sum放在DisplayFor()中,但代码不起作用.有人能指出我的解决方案吗?
我遇到了以下伪查询的问题:
var daily = from p in db.table1
group p by new
{
key1,
key2
} into g
join d in db.table2
on new { p.key1, p.key2 } equals { d.key1, d.key2 }
select new
{
col1 = g.Key.key1
col2 = g.Sum(a => a.column2)
col3 = d.column3
};
Run Code Online (Sandbox Code Playgroud)
它运行但LINQ发送给SQL Server的生成的SQL语句是荒谬的.实际实现遵循与上面类似的设置,其中7个左右的列各自具有.Sum()计算.生成的SQL有大约10-11个嵌套的SELECT语句,没有INNER JOIN,当然,需要永远运行.
我测试了另一个查询实现:
var daily = from p in
(from p in db.table1
group p by new
{
key1,
key2
} into g
select new
{
col1 = g.Key.key1, …Run Code Online (Sandbox Code Playgroud) 我一直在谷歌搜索一段时间,试图找到某种解决方案,但运气不佳。
我正在尝试获取一组对应于一天数据的记录。一天的数据价值是 4:00:00EST-3:59:59EST。当我向用户显示我的结果集时,我希望以用户的本地时间(在我的情况下为 CST)显示结果。这通常不会那么难,除了:
由于数据库的时间在 EST 但记录保存在 GMT 我不能简单地调用 GETDATE() 并调整它。
还值得注意的是,我在 C# 中使用 LINQ/Entity Framework 4.1 Code-First,我使用的数据库是 Sybase。
那么,鉴于上述信息,我将数据从 GMT 转换为用户的本地时间的可靠方法是什么?
我最近发现臭名昭着的Jon Skeet关于使用LINQ to XML的帖子.这段特殊代码引起了我的注意:
// Customers is a List<Customer>
XElement customersElement = new XElement("customers",
customers.Select(c => new XElement("customer", //This line is "magic"
new XAttribute("name", c.Name),
new XAttribute("lastSeen", c.LastOrder)
new XElement("address",
new XAttribute("town", c.Town),
new XAttribute("firstline", c.Address1),
// etc
));
Run Code Online (Sandbox Code Playgroud)
我决定在我的应用程序中自己测试它,我有一个foreach循环设置如下:
foreach (var kvp in m_jobs) { //m_jobs is a Dictionary<string,Job>
m_xmlDoc.Root.Element("SCHED_TABLE").Add(
kvp.Value.GenerateXmlNode())
);
}
Run Code Online (Sandbox Code Playgroud)
我修改为:
m_xmlDoc.Root.Element("SCHED_TABLE").Add(
m_jobs.Select(job => job.Value.GenerateXmlNode())
};
Run Code Online (Sandbox Code Playgroud)
其中GenerateXmlNode()是为特定作业项生成适当XML标记的方法.我不确定会发生什么,但是它看起来和我的foreach循环完全一样.我不太明白的是为什么?!此外,这被认为是LINQ的"滥用"还是"功能"?
为清晰起见编辑:我知道.Select将返回一个IEnumerable,其中包含我要求的内容,但我并没有明确地枚举它.我理解.Add是如何工作的,因为它接受了可变数量的参数,但同样,我没有明确枚举传递这些参数.那么......它怎么还能用呢?
这可能是其他Partition By + Rank问题的重复,但我发现大多数问题/答案对于他们的特定业务逻辑过于具体.我正在寻找的是以下类型的查询的更一般的LINQ版本:
SELECT id,
field1,
field2,
ROW_NUMBER() OVER (PARTITION BY id
ORDER BY field1 desc) ROWNUM
FROM someTable;
Run Code Online (Sandbox Code Playgroud)
我们对此做的一件非常普遍的事情就是把它包装成像这样的东西:
SELECT id,
field1,
field2
FROM (SELECT id,
field1,
field2,
ROW_NUMBER() OVER (PARTITION BY id
ORDER BY field1 desc) ROWNUM
FROM someTable)
WHERE ROWNUM = 1;
Run Code Online (Sandbox Code Playgroud)
这将返回每个id在field1中包含最高值的行.将顺序更改为asc当然会返回最低值或将等级更改为2将获得第二高/最低值等等.有没有办法编写可以执行服务器端的LINQ查询给我们同样的功能?理想情况下,如上所述的性能.
编辑:
我在搜索网页后尝试了很多不同的解决方案,他们最终都给了我同样的问题,以下是里德的回答,因为生成的SQL包括一个APPLY.
我尝试了几个例子:
from p in db.someTable
group p by p.id into g
let mostRecent = g.OrderByDescending(o => o.field1).FirstOrDefault()
select new {
g.Key,
mostRecent
};
db.someTable
.GroupBy(g => g.id, (a, b) …Run Code Online (Sandbox Code Playgroud) 标题; 我发现了很多32位示例,但没有完整的64位示例。以这篇文章为指导,我提出了以下实现,Log10但是我不确定翻译是否准确或有效。
编辑:据推测,此Clang示例处理后一种MAX_VALUE情况而没有最后两条指令,但是如果删除,我得到的结果为20,而不是预期的19。
...
mov rcx, 0FFFFFFFFFFFFFFFFh ; put the integer to be tested into rcx
lea r10, qword ptr powersOfTen ; put pointer to powersOfTen array into r10
lea r9, qword ptr maxDigits ; put pointer to maxDigits array into r9
bsr rax, rcx ; put log2 of rcx into rax
cmovz rax, rcx ; if rcx is zero, put zero into rax
mov al, byte ptr [(r9 + rax)] …Run Code Online (Sandbox Code Playgroud) linq ×6
c# ×5
oracle ×2
sql-server ×2
assembly ×1
html ×1
javascript ×1
knockout.js ×1
masm ×1
math ×1
optimization ×1
razor ×1
sql ×1
sybase ×1
x86-64 ×1
xml ×1