我有一些C#代码使用nhibernate查询数据库,如下所示:
public void Query()
{
IEnumerable<Project> list = session.Query<Project>()
.Where(p => !p.IsDeleted)
.FetchMany(r => r.UnfilteredProjectApplications)
.ThenFetch(r => r.Application)
.ToList()
}
Run Code Online (Sandbox Code Playgroud)
我现在有许多用户驱动程序过滤器,因此,根据传入的参数,我想添加到where子句.所以像这样:
public void Query(string name)
{
if (!String.IsNullOrEmpty(name)
{
IEnumerable<Project> list = session.Query<Project>()
.Where(p => !p.IsDeleted && p.Name == name)
.FetchMany(r => r.UnfilteredProjectApplications)
.ThenFetch(r => r.Application)
.ToList()
}
}
else
{
IEnumerable<Project> list = session.Query<Project>()
.Where(p => !p.IsDeleted)
.FetchMany(r => r.UnfilteredProjectApplications)
.ThenFetch(r => r.Application)
.ToList()
}
Run Code Online (Sandbox Code Playgroud)
用户可以选择一个或多个过滤器.可以想象,鉴于大量的组合,上面的代码会变得非常复杂.有没有一种优雅的方法可以在这里添加一个带有附加逻辑块的where子句.有些可能很简单,比如
p.Name == name
Run Code Online (Sandbox Code Playgroud)
但其他人可能更复杂,如:
p.ProjectApplications.Select(r => r.Application).Any(s => applicationIds.Contains(s.Id)))
Run Code Online (Sandbox Code Playgroud)
正如我所说,可能有零个或多个不同的过滤器..
我在其他情况下看到,人们建议建立where子句
query …Run Code Online (Sandbox Code Playgroud) 有没有更简洁的方法让html表格列对齐除了align="right"每一行?
是否有任何html或CSS我可以在一个地方指定它,以避免每一行上的HTML?
<tr>
<td align='right'>Col1</td>
<td>Col2</td>
</tr>
<tr>
<td align='right'>Col1</td>
<td>Col2</td>
</tr>
<tr>
<td align='right'>Col1</td>
<td>Col2</td>
</tr>
<tr>
<td align='right'>Col1</td>
<td>Col2</td>
</tr>
Run Code Online (Sandbox Code Playgroud) 我有一个asp.net-mvc网页,我在一些图像后显示一些文字,我不希望文本换行到下一行.如果有截止点,我希望它切断并在末尾加上"......"?(如果没有视觉指示器表明存在截止点,那么我很紧张,那么用户就不会意识到这种情况发生了.
<img src="some_image.png">
<img src="some_image1.png">
<img src="some_image2.png">
<span id="myText">a bunch of text after the images</span>
#myText
{
overflow:hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
Run Code Online (Sandbox Code Playgroud)
因此,如果数据内容仅占用整行,则显示完整描述,但不是包装到另一行,而是附加"..."
我可以简单地根据字符串长度在服务器端做一些"修剪"逻辑,但我不知道如何检测是否会发生包装(给定用户屏幕宽度等)
对这种情况有什么建议吗?
我正在试图弄清楚当我处于标记模式时如何初始化jquery select2项目(因为我想允许用户输入新项目:
我看到这个例子:
$("#e12").select2({tags:["red", "green", "blue"]});
Run Code Online (Sandbox Code Playgroud)
哪个工作正常但我需要用已经添加的一些条目来实例化它.
但如果我想在页面加载时初始化一些现有项目,我尝试做这样的事情:
var existingEmailAddresses= ["joe@abc.com","bill@abc.com"];
$("#e12").select2({
width: "600px",
multiple: true,
tags:["A", "B", "C"],
initSelection: function (element, callback) {
callback(existingEmailAddresses);
}
});
Run Code Online (Sandbox Code Playgroud)
但这似乎没有奏效.
如何在使用标记模式时初始化输入?
我还想看看是否有任何钩子来验证添加的新标签.在我的情况下,我想确保它们是有效的电子邮件地址.
我有一个字符串列表.它是在别处生成的,但我将在下面生成它来帮助描述这个简化的例子
var list = new List<string>();
list.Add("Joe");
list.Add("");
list.Add("Bill");
list.Add("Bill");
list.Add("");
list.Add("Scott");
list.Add("Joe");
list.Add("");
list.Add("");
list = TrimList(list);
Run Code Online (Sandbox Code Playgroud)
我想要一个函数,"trims"这个列表和修饰我想删除数组末尾的所有项目是空字符串(在这种情况下是最后两个).
注意:我仍然希望保留空白的数组,这是数组中的第二项(或任何其他不在最后的项目)所以我不能做.Where(r=> String.isNullOrEmpty(r))
我有一个像这样的html表:
<table>
<tr><th>Column Heading</th></tr>
<tr><td>ABC</td></tr>
<tr><td>DEF</td></tr>
<tr><td>ABC</td></tr>
<tr><td>223</td></tr>
<tr><td>ABCDEF</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我有一个html文本框,当我在文本框中键入文本时,我想要功能,它使用它来根据第一列中的内容过滤html表行
因此,如果我在文本框中键入"AB",则仍会显示3行,而其他行将被隐藏.如果我删除"AB",则所有行再次显示.
基于输入到文本框中的内容进行过滤,隐藏html表中行的最有效方法是什么?
我有一个变量来显示项目的RAG状态(红色,琥珀色,绿色)
var previousStatus = "R"
var currentStatus = "A"
Run Code Online (Sandbox Code Playgroud)
而我正试图计算"趋势",所以有些喜欢
var trend = CalculateTrend(previous, current)
Run Code Online (Sandbox Code Playgroud)
我试图找到一个更优雅的解决方案
if (prev == current)
return "Stable";
if (prev == "R" && (current == "G" ||current == "A"))
return "Improving";
if (prev == "G" && (current == "R" ||current == "A"))
return "Declining";
if (prev == "A" && current == "G")
return "Improving";
if (prev == "A" && current == "R")
return "Declining";
Run Code Online (Sandbox Code Playgroud)
任何有关"清洁"解决方案的建议.
我有返回的代码和IVehicle接口的数组
IEnumerable<IVehicle> allVehicles = GetAllVehicles();
Run Code Online (Sandbox Code Playgroud)
我知道所有这些对象都是Car对象.什么是正确的投射方式
IEnumerable<IVehicle>
Run Code Online (Sandbox Code Playgroud)
至
IEnumerable<Car>
Run Code Online (Sandbox Code Playgroud)
因为我需要将这些传递给另一个需要的功能 <Enumerable<Car>
我目前有一个应用程序,通过TCP套接字从Windows客户端发送XML到Windows服务器.
我们正在重写架构,我们的服务器将采用Java.我们正在研究的一种架构是基于http的REST架构.所以C#WinForm客户端将使用此发送信息.我们正在寻找高吞吐量和低延迟.
有没有人对这种方法有任何性能指标,而不是其他一些C#客户端到Java服务器通信选项.
我有一个名为Foo的对象.现在它实现了IFoo,它有很多属性.
我有一个类只依赖于其中的一些属性所以我创建了IMeasurableFoo(它只有一些属性)
为了避免重复的代码,我现在有IFoo:IMeasurableFoo,因为我将属性移动到IMeasurableFoo
但是从继承的角度来看,这是错误的,因为你有一个从特定接口继承的更通用的接口
关于组织这些抽象的最佳方法的任何想法
例如,如果这些是具体结果:
Bird不会继承FlyingBird(它会反过来)
c# ×6
collections ×2
css ×2
filter ×2
html ×2
html-table ×2
jquery ×2
asp.net-mvc ×1
casting ×1
interface ×1
java ×1
lambda ×1
linq ×1
nhibernate ×1
rest ×1
tagging ×1
tags ×1
where-clause ×1
word-wrap ×1