我在选择列表中使用jEditable.它的工作非常精美,除了以下问题.jEditable显示在提交后服务器发回的任何内容.这适用于文本框等,您只需将提交的值从服务器发回.
但是,这对选择列表没有意义,因为发布的值只是选项元素的Id.如果我将其发回,那么我的文本将更改为Id而不是之前的友好文本.
如何关闭此行为?我不想再次使用来自DB的提交的Id来获取文本值,只是为了显示目的而将其发回.应该有一种方法来保留选项文本,然后让jEditable在提交后将其放回标签中.救命?
WaveMaker是一个生成Java和Javascript代码的RAD工具 - 所以:
情况
我有许多参数化的SQL命令。我在一个循环中一个接一个地执行这些命令,如下所示:
public void SaveChanges()
{
using (var ts = _Context.Database.BeginTransaction())
{
try
{
_Context.SaveChanges();
foreach (var cmd in _Commands)
{
if (cmd.Parameter != null)
{
_Context.Database.ExecuteSqlCommand(cmd.Sql, cmd.Parameter.ToArray());
}
}
ts.Commit();
}
catch (Exception ex)
{
ts.Rollback();
throw new Exception("SaveChanges");
}
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码可以正常工作,事务回滚也可以正常工作。
我的命令类如下所示:
public class SqlBuilderCommand
{
public string Sql { get; set; }
public List<SqlParameter> Parameter {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
没有具体解决方案的可能重复
我已经找到了这个问题的几个可能的重复。最接近的是:
不幸的是,它对我使用实体框架没有帮助(或者我只是不明白)
问题
是否可以一次往返执行列表中的所有命令?
如果不是,是否可以使用ADO.NET?
解决方案和缺点/局限性
感谢@Evgeni的正确答案。是的,您可以连接许多SQL字符串,并且只需一次往返就可以将参数作为列表发送。那很棒。
但是SQL-Server有一个限制。SQL-Server仅通过一个命令最多接受2100个参数。因此,如果您的对象具有7个数据库列,则每个命令的最大批量插入量为300个对象。否则,您将获得例外。
如果我对5000个对象执行此操作,则会导致17个大容量插入(5000/300)。我停止了5000个对象的时间,但仍然是8到9秒,这太慢了,因为我知道原始SQL会更快得多。
在这一点上,我认为对我而言,没有办法解决原始SQL,除非有人告诉我,有一种方法可以加快sql命令的速度。
也许我会为此写一个后续问题。该死的。
我使用了traceroute命令并ping了我的亚马逊实例.这是我回来的结果:
traceroute to 10.250.19.146 (10.250.19.146), 30 hops max, 60 byte packets
1 ip-10-8-145-1.us-west-2.compute.internal (10.8.145.1) 0.996 ms 1.234 ms 3.698 ms
2 100.70.166.213 (100.70.166.213) 0.855 ms 1.179 ms 100.70.166.117 (100.70.166.117) 0.860 ms
3 100.70.175.66 (100.70.175.66) 0.925 ms 100.70.175.174 (100.70.175.174) 0.771 ms 100.70.175.238 (100.70.175.238) 0.811 ms
4 100.70.173.157 (100.70.173.157) 0.811 ms 100.70.172.193 (100.70.172.193) 0.866 ms 100.70.173.69 (100.70.173.69) 0.849 ms
5 100.70.164.46 (100.70.164.46) 4.411 ms 100.70.163.206 (100.70.163.206) 4.655 ms 4.915 ms
6 ip-10-250-19-146.us-west-2.compute.internal (10.250.19.146) 0.563 ms 0.267 ms 0.267 ms
Run Code Online (Sandbox Code Playgroud)
使用这些数据,我如何计算平均RTT时间?
roundtrip ×4
average ×1
c# ×1
command ×1
icmp ×1
jeditable ×1
select ×1
sql-server ×1
traceroute ×1
wavemaker ×1