小编Rex*_*x M的帖子

如何使用Linq-to-SQL仅插入新记录?

我必须在我的SQL Server数据库中定期插入一些数据.但是我读取数据的源会重复之前插入的一些数据.当我使用Linq-to-SQL插入数据库时​​,某些数据会被复制,或者引发主键冲突异常,具体取决于主键.

如何在没有重复的情况下插入数据,没有例外?我不想用try-catch来避免异常,因为一旦引发异常,就不会插入其余的数据.

更新我也找到了自己的解决方案:我写了一个重复的条目删除存储过程,它在InsertAllOnSubmit + SubmitChanges之后运行

.net linq insert linq-to-sql

5
推荐指数
1
解决办法
2万
查看次数

YAGNI是否适用于数据库设计?

在代码中,添加新类通常很容易提供额外的功能等.我对重构代码以及所涉及的内容有相当好的理解,因此YAGNI通常对我有意义.

我不熟悉的是在部署后使用和更新关系数据库.我正在开发一个小宠物项目,我计划在早期发布,经常发布,我想知道我是否应该考虑在初始版本中不会使用的数据,但是在计划的功能列表中?是否像添加新类一样容易添加表和调整模式?或者我应该尝试为可以想象使用的东西设置表格,但是不计划在不久的将来?

database-design yagni

5
推荐指数
1
解决办法
440
查看次数

Python中是否存在基于堆栈的变量?

如果我这样做:

def foo():
     a = SomeObject()
Run Code Online (Sandbox Code Playgroud)

离开foo后,'a'是否被立即销毁?还是等待一些GC发生?

python

5
推荐指数
1
解决办法
226
查看次数

篡改强大的命名程序集有多难?

假设我有一个强大的.NET程序集.只有我可以访问私钥.然后我将程序集分发给某个客户端系统.

客户修改程序集有多难?即:他们需要做些什么才能修改我的装配?

.net c# strongname

5
推荐指数
1
解决办法
600
查看次数

浮动跨度为何下降?

这个代码在Webkit(chrome)中可以正常工作,但在firefox中没有,第二个跨度会下降,你知道为什么吗?

<div id="sbar">
    <span id="status">Some Text</span>
    <span id="mlog" style="float: right;">Some text in the right</span>
</div>
Run Code Online (Sandbox Code Playgroud)

html css firefox

4
推荐指数
1
解决办法
580
查看次数

我应该使用像IEnumerable这样的接口,还是像List <>这样的具体类

我最近在其他地方表达了我对此的看法*,但我认为值得进一步分析,所以我将其作为自己的问题发布.

假设我需要在程序中创建并传递容器.我可能对一种容器与另一种容器没有强烈的意见,至少在这个阶段,但我选择了一个; 为了论证,我们假设我将使用List <>.

问题是:编写我的方法接受并返回高级接口(例如C#的IEnumerable)会更好吗?或者我应该编写方法来获取并传递我选择的特定容器类.

我应该寻找哪些因素和标准来决定?什么样的程序可以从中受益?计算机语言会影响您的决定吗?性能?程序大小?个人风格?

(这甚至重要吗?)

**(家庭作业:找到它.但是在你寻找我自己之前请在这里发布你的答案,以免偏见你.)*

language-agnostic oop polymorphism

4
推荐指数
2
解决办法
1865
查看次数

抽象基类还是接口?似乎都不对

给出以下代码:

using System.Collections.Generic;
static class Program {
    static void Main() {
        bar Bar = new bar();
        baz Baz = new baz();
        System.Console.WriteLine(
            "We have {0} bars, rejoice!", bar.Cache.Count);
    }
}

public abstract class foo {
    public static List<foo> Cache = new List<foo>(); 
}

public class bar : foo {
    public bar() { Cache.Add(this); }
}
public class baz : foo {
    public baz() { Cache.Add(this); }
}
Run Code Online (Sandbox Code Playgroud)

你得到(有点预期)输出"我们有2个酒吧,欢喜!".

这真是太棒了,我们现在拥有啤酒的两倍(显然),但我真正想要的是每个类都拥有它自己的缓存.我不想在子类中实现此缓存的原因是因为我的抽象类中还有一些方法需要能够在缓存上操作(即迭代所有这些方法).有没有办法做到这一点?我已经看过使用接口foo,但接口不允许将静态成员定义为接口的一部分.

.net c# inheritance interface abstract

4
推荐指数
1
解决办法
1574
查看次数

模仿病毒般的行为?

我正在寻找一种方法来模拟类似病毒的行为来测试反病毒软件中的排除项.任何人都可以推荐一些我可以在快速脚本中放在一起的行为,这会触发一个典型的实时反病毒扫描程序吗?

antivirus virus emulation

4
推荐指数
1
解决办法
825
查看次数

Asp.Net - 页面刷新(F5)不恢复TextBox的初始值

这是简单的代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        txt.Text = "Original";
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 第一次加载.文本框状态为"原始".

  2. 手动,将值更改为"不原始".

  3. 按F5.这条线:

    txt.Text ="原创";

执行但输入值仍为"非原始"

但是,当我点击进入地址栏时.该值更改为"原始".

更多starnge是当地址在末尾包含'#'时(使用jquery click ...)

然后,即使我点击了地址栏,价值 仍为"非原创"

asp.net viewstate postback page-lifecycle

4
推荐指数
1
解决办法
8617
查看次数

比较2 List <Dictionary <string,object >>

我有一个函数,它返回一个List<Dictionary<string, object>>where对象是标准类型(string,int等).

我需要花一点时间List<Dictionary<string, object>>并确保列表B中的所有条目都在列表A中表示(列表中的顺序无关紧要).

目前我的代码如下所示:

foreach(Dictionary<string, object> rowResult in A) {
  foreach(Dictionary<string, object> rowCompare in B) {
    foreach(string columnName in rowResult.Keys) {
       // ... logic to compare columns
    }
  }

  // ...logic to compare rows so we dont find the same row twice.
}
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法来做到这一点?

我们不在乎找到rowResult中的所有行,但rowCompare中的所有行都必须是.它确定以删除行比较或结果集进行迭代更加容易.

我的代码工作,它只是看起来复杂和脆弱.

c#

4
推荐指数
1
解决办法
3038
查看次数