我们的开发小组已经就实体的组成是否应该推动数据库设计,或者数据库设计是否应该驱动实体的组成进行了相当多的讨论.
对于那些处理过这个问题的人来说,你的理念是什么?当然,并非每个实体都将1:1映射到数据库表.但是,对于那些那样做的人,你是如何处理这个的?IOW,首先是数据库表,然后是相应的实体或实体,然后是数据库表来持久化它?
谢谢.
以下查询在LastModifiedTime列的索引上使用索引搜索.
SELECT
CONVERT(varchar, a.ReadTime, 101) as ReadDate,
a.SubID,
a.PlantID,
a.Unit as UnitID,
a.SubAssembly
FROM dbo.Accepts a WITH (NOLOCK)
WHERE a.LastModifiedTime BETWEEN '3/3/2010' And '3/4/2010'
AND a.SubAssembly = '400'
Run Code Online (Sandbox Code Playgroud)
下面的查询与上述查询几乎完全相同,使用聚簇索引扫描,而不是LastModifiedTime上的索引.谁能告诉我为什么?而且,更重要的是,我可以做些什么来让SQL Server在LastModifiedTime列上使用索引,而不使用索引提示.
Declare @LastModifiedTimeEnd dateTime
Declare @LastModifiedTimeStart dateTime
SELECT
CONVERT(varchar, a.ReadTime, 101) as ReadDate,
a.SubID,
a.PlantID,
a.Unit as UnitID,
a.SubAssembly
FROM dbo.Accepts a WITH (NOLOCK)
WHERE a.LastModifiedTime BETWEEN @LastModifiedTimeStart And @LastModifiedTimeEnd
AND a.SubAssembly = '400'
Run Code Online (Sandbox Code Playgroud) 我有以下Linq查询:
var tmp =
from container in Container
join containerType in ContainerType on container.ContainerType equals containerType
where containerType.ContainerTypeID == 2
select new { ContainerID = container.ContainerID, TypeID = container.ContainerTypeID};
var results = tmp.Select((row, index) => new { row.ContainerID, row.TypeID, ContainerIndex = index })
Run Code Online (Sandbox Code Playgroud)
这样,这很好.如果我添加以下内容,那么我可以在LinqPad中看到结果,我收到此消息标题中描述的错误:
results.Dump();
Run Code Online (Sandbox Code Playgroud)
这个错误不是LinqPad错误,它来自Linq,我不明白这是什么意思.
谢谢.
我有一个MVC 5应用程序,我正在使用数据注释来进行大部分验证.我班级中的一个属性如下所示:
[Required(ErrorMessage = "Please enter a business name")]
[StringLength(80)]
public string BusinessName { get; set; }
Run Code Online (Sandbox Code Playgroud)
验证工作正常,但它似乎并没有像我认为的那样在浏览器中发生.在我的页面上,我有一个保存按钮.如果我将"业务名称"字段留空并单击"保存",则会对控制器方法发布一个帖子,该方法部分地查看,如下所示:
[HttpPost]
public ActionResult Create(Advertiser advertiser, FormCollection collection, HttpPostedFileBase file)
{
// Before we do anything, let's check to make sure any validation that's already been done is clean.
if (!ModelState.IsValid)
{
return View(advertiser);
}
...
...
}
Run Code Online (Sandbox Code Playgroud)
执行此方法时,模型状态已设置为无效.这很好,因为它无效,因为商家名称字段为空.但是,不应该在客户端进行此验证吗?
我的.cshtml文件中的字段如下所示(使用Bootstrap):
<div class="form-group">
@Html.Label("Business Name", new { @class = "control-label col-md-3" })
<div class="col-md-9">
@Html.TextBoxFor(model => model.BusinessName, new { @class = "form-control", title = …Run Code Online (Sandbox Code Playgroud) 我刚刚在SO上阅读了一篇讨论Singleton与Static Classes的优点的帖子.
有人提到模式X似乎更像是一个"工厂"而不是一个"单身"模式.
"工厂"和"设计模式"之间有什么区别?
如果您必须向5年级学生(10/11岁)解释Lambda表达式,您会怎么做?你可以给出什么样的例子,或者你可以指出它们的资源?我可能会发现自己处于不得不向五年级开发人员讲授这个问题并且可以使用一些帮助的位置.
[编辑]:"五年级学生"的参考意味着与一个美国电视节目有关,该节目在测验类型设置中让成年人与五年级学生相遇(我认为).我的意思是暗示那些需要被教导的人对Lambda一无所知,我需要找到一种方法来使事情变得非常简单.对不起,我忘了这个论坛有全世界的观众.
非常感谢.
我正在分析(SQL Server 2008)我们的一些视图和查询,以确定它们在CPU使用率和读取方面的效率.我理解Reads是8KB页面中逻辑磁盘读取的数量.但我很难确定我应该满意的是什么.
例如,当我查询我们的一个视图,它们又与另一个视图连接并且有三个带有表值UDF的OUTER APPLY时,我得到一个读取值为321,CPU值为0.我首先想到的是我应该对此感到高兴.但我该如何评估321的价值呢?这告诉我在逻辑上读取了2,654,208个字节的数据以满足查询(返回单行和30列).
你们中的一些人如何确定这是否足够好,还是需要更多微调?你会用什么标准?
另外,我很好奇在读取的2,654,208字节的逻辑数据中包含了什么.这是否包括返回的单行中30列中包含的所有数据?
我在下面有XAML,显示了我想要做的事情.这很简单.
我有一个包含网格的窗口.网格包含带有多个选项卡项的选项卡控件.代码中显示的标签项包含一个网格.网格有两列六行.每行包含一个标签(第0列)和文本框(第1列).我希望标签列可以根据需要消耗尽可能多的空间.我希望文本框列使用行的其余宽度.并且,当用户水平调整窗口大小时,我希望文本框列与窗口收缩和展开.下面的代码没有这样做,我不知道我需要做些什么来解决这个问题.
<Grid Background="#18AFA117">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Content="Generate" Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="54,8,0,0" Name="Generatebutton" VerticalAlignment="Top" Width="75" Click="Generatebutton_Click" />
<Button Content="Cancel" Height="23" HorizontalAlignment="Left" Margin="151,8,0,0" Name="CancelButton" VerticalAlignment="Top" Width="75" Grid.Row="1" Click="CancelButton_Click" />
<TabControl HorizontalAlignment="Stretch" Margin="5,5,5,416" Name="tabControl1" VerticalAlignment="Stretch" Height="Auto" SelectionChanged="tabControl1_SelectionChanged">
<TabItem Header="TFS Configuration" Name="TFSTab">
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Content="TFS Server:" Grid.Column="0" Grid.Row="0" …Run Code Online (Sandbox Code Playgroud) 我正在创建一个基于C#的Windows服务,它将在几个月内全天候运行.我希望能够跟踪我的服务的一般内存使用情况.它不需要精确到字节.分配的一般金额就足够了.我将监视内存消耗的趋势.GC.GetTotalMemory()是否适合监控此方法?
我知道性能监视器和计数器的使用.但是,此服务将在至少12个不同的服务器上运行.我不想在12个不同的服务器上跟踪PM.该服务将从所有实例中将所有性能和内存使用信息保留到中央数据库,以避免这种情况,并便于分析.
我想创建以下索引视图:
CREATE VIEW [Cic].[vwMarker] WITH SCHEMABINDING
AS
Select
SubId,
marker.EquipmentID,
marker.ReadTime,
marker.CdsLotOpside,
marker.CdsLotBackside,
marker.CdteLotOpside,
marker.CdTeLotBackside
From dbo.Marker
Where dbo.Marker.ReadTime >= Convert(dateTime,'10/5/2011',120)
GO
CREATE UNIQUE CLUSTERED INDEX IX_vwMarker_ReadTime_EquipmentID
ON Cic.vwMarker (ReadTime, EquipmentID);
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,我真正想要做的是在此视图中仅包含两天或更新的行,从查询视图的当前日期/时间开始.我找不到这样做的方法,因为我不能在Where谓词中使用GetDate(),因为它是非确定性的.换句话说,我想做这样的事情,但不能:
Where dbo.Marker.ReadTime >= Convert(dateTime,DateAdd(dd,-2,GetDate()) ,120)
Run Code Online (Sandbox Code Playgroud)
有没有解决的办法?
sql-server ×4
c# ×3
.net ×1
asp.net-mvc ×1
entity ×1
indexed-view ×1
linq ×1
linq-to-sql ×1
oop ×1
orm ×1
terminology ×1
wpf ×1
xaml ×1