不久前,我一直在阅读CJ Date的SQL和关系理论一书.作者因批评SQL的三值逻辑(3VL)而闻名.1)
作者强调了为什么在SQL中应该避免使用3VL,但是他没有概述如果不允许使用可空列的数据库模型的样子.我已经考虑了一点,并提出了以下解决方案.如果我错过了其他设计选项,我想听听他们的意见!
1)日期对SQL 3VL的批评反过来也受到了批评:请参阅 Claude Rubinson撰写的这篇论文(包括CJ Date的原始批评).
示例表:
举个例子,请看下面的表,我们有一个可以为空的列(DateOfBirth):
# +-------------------------------------------+
# | People |
# +------------+--------------+---------------+
# | PersonID | Name | DateOfBirth |
# +============+--------------+---------------+
# | 1 | Banana Man | NULL |
# +------------+--------------+---------------+
Run Code Online (Sandbox Code Playgroud)
选项1:NULL通过标志和默认值进行模拟:
不是使列可为空,而是指定任何默认值(例如1900-01-01).另一BOOLEAN列将指定是否DateOfBirth应该忽略值in 或者它是否实际包含数据.
# +------------------------------------------------------------------+
# | People' |
# +------------+--------------+----------------------+---------------+
# | PersonID | Name | IsDateOfBirthKnown | DateOfBirth |
# +============+--------------+----------------------+---------------+ …Run Code Online (Sandbox Code Playgroud) 据我所知,Windows 7支持事务处理文件.我如何在C#中使用它们?
我试图将DI(使用Autofac)引入现有的Windows窗体应用程序.
此应用程序具有基本的插件体系结构,其中每个插件都显示其自己的表单.启动时,应用程序扫描已注册的程序集以查找实现的类型,IPlugin然后使用Activator.CreateInstance以下命令激活它们:
public interface IPlugin
{
Form MainForm { get; }
}
Run Code Online (Sandbox Code Playgroud)
我无法改变这个给定的框架.这意味着,每个插件类都通过非DI方式实例化,在我看来,因此我必须为每个插件引导一个单独的DI容器.
我的问题是,ContainerBuilder每个插件创建一个单独的容器OK还是合理有效吗?(将有大约10种不同的插件.)或者是否应该只有一个DI容器用于整个应用程序?
我在下面提供了一些当前解决方案的示例代码.
using Autofac;
using System.Windows.Forms;
public class Plugin : IPlugin // instantiated by Activator
{
public Form MainForm { get; private set; }
public Plugin() // parameter-less constructor required by plugin framework
{
var builder = new ContainerBuilder();
builder.RegisterModule(new Configuration());
var container = builder.Build();
MainForm = container.Resolve<MainForm>();
// ^ preferred to new MainForm(...) because this …Run Code Online (Sandbox Code Playgroud) div根据里面的图像,我想知道是否仍然没有一种好的方法可以伸展和水平滚动.毕竟,现在是2011年!
这样mega-width做的伎俩,但mega-space如果没有填充图像,则留空.
如果填充太多,则不显示图像.对于jQuery也一样.以下情况是我在谷歌搜索后可以做的最好的情况,但它不够可靠.
谢谢你的时间.
* {
margin:0;
padding:0;
}
#one {
width: 200px;
height: 250px;
overflow-x: auto;
overflow-y: hidden;
}
#two {
width: 10000em;
}
#two img {
float: left;
}
$(document).ready(function() {
var total = 0;
$(".calc").each(function() {
total += $(this).outerWidth(true);
});
$("#two").css('width', total);
alert(total);
});
Run Code Online (Sandbox Code Playgroud)
<div id="one">
<div id="two">
<img src="images/testimage3.jpg" width="480" height="192" class="calc">
<img src="images/testimage3.jpg" width="480" height="192" class="calc">
<img src="images/testimage3.jpg" width="480" height="192" class="calc">
<img src="images/testimage3.jpg" width="480" height="192" class="calc">
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我正在使用Winforms开发一个应用程序,并且使用了一个数据绑定我的网格的路径BindingSource.我的问题是:
这是最好的方法吗?我应该手动填充单元格而不是让它BindingSource为我做吗?它会导致进一步的问题吗?如果在任何情况下数据绑定会产生问题,那将是有用的.
我的一位同事发誓黑色和蓝色不使用数据绑定.我真的不相信他说的话,所以任何利弊都是有价值的.
在连接到单个数据库和可编辑DataGrid的多用户应用程序的情况下,如何解决更新数据的并发问题?
我有三个divs,我想按高度对它们进行排序,从最大到最小.
<div>smallest</div>
<div>largest</div>
<div>middle</div>
Run Code Online (Sandbox Code Playgroud)
任何的想法?
ObservableCollection<T>笔记的MSDN参考页面:
"集合中的对象必须满足绑定源概述中描述的要求.特别是,如果您使用OneWay或TwoWay(例如,您希望在源属性动态更改时更新UI),则必须实现合适的属性更改了通知机制,例如INotifyPropertyChanged接口."
既然ObservableCollection<T>已经实现了INotifyPropertyChanged,为什么我需要再次实施INotifyPropertyChanged上T也?
请参阅此select元素display:none.在jQuery Mobile中,它显示尽管如此:
<select id="dddd" name="dddd"
data-mini="true" data-native-menu="false" data-theme="c"
onChange=""
style="display:none">
<option value="1">An optinos</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我试图显示/隐藏select依赖于其他用户操作的jQuery Mobile 元素,因此我为什么要这样做.
有任何想法吗?
任何人都可以在VB中解释我需要使用Public Shared Sub,因此可以从其他表单访问它.
但这个"公共"和"共享"意味着什么?
如果是公共共享,这是否意味着其他一些软件或"某些黑客应用程序"可以更轻松地访问此子及其价值?
当我学习古兰经测试的概念时,我遇到了"具体和符号执行"这两个术语.(那里提到的文章,"CUTE:C的一个古老的单元测试引擎",在其摘要部分使用该术语.)
"所使用的方法建立在先前的工作基础上,结合了符号和具体执行,更具体地说,使用这样的组合来生成测试输入以探索所有可行的执行路径."
任何人都可以确认"具体执行"是什么意思吗?尽管我搜索,但我找不到任何直接引用/明确陈述.
根据我的理解,"具体执行"意味着"执行具有实际输入值的程序,而不像符号执行,它假定符号值为变量,输入等".如果我错了,请纠正我(如果可能的话,用一个小例子).