假设我有以下查询.
SELECT ID, Email, ProductName, ProductModel FROM Products
Run Code Online (Sandbox Code Playgroud)
如何修改它以使其不返回重复的电子邮件?
换句话说,当多行包含相同的电子邮件时,我希望结果只包含其中一行(最好是最后一行).应允许其他列中的重复项.
类似条款DISTINCT,并GROUP BY出现在整个行工作.所以我不确定如何处理这个问题.
一旦项目已知,但在C#中从集合中删除项目的最佳方法是什么,但不是它的索引.这是一种方法,但它似乎不够优雅.
//Remove the existing role assignment for the user.
int cnt = 0;
int assToDelete = 0;
foreach (SPRoleAssignment spAssignment in workspace.RoleAssignments)
{
if (spAssignment.Member.Name == shortName)
{
assToDelete = cnt;
}
cnt++;
}
workspace.RoleAssignments.Remove(assToDelete);
Run Code Online (Sandbox Code Playgroud)
我真正想做的是找到要按属性删除的项目(在本例中为name),而不循环遍历整个集合并使用另外两个变量.
我最近学习了ASP.NET MVC(我喜欢它).我正在与一家使用依赖注入的公司合作,在每个请求中加载Repository实例,我熟悉使用该存储库.
但现在我正在编写自己的几个MVC应用程序.我不完全理解我公司使用的存储库的方法和原因,我正在尝试确定实现数据访问的最佳方法.
我正在使用C#和Entity Framework(包含所有最新版本).
我看到了处理数据访问的三种通用方法.
每次访问数据时,using语句中的常规DB上下文.这很简单,工作正常.但是,如果两个位置需要在一个请求中读取相同的数据,则必须读取两次数据.(每个请求使用一个存储库,两个地方都会使用相同的实例,我理解第二次读取只会返回第一次读取的数据.)
典型的存储库模式.由于我不理解的原因,这种典型的模式涉及为数据库中使用的每个表创建一个包装类.这对我来说似乎不对.事实上,由于它们也是作为接口实现的,我在技术上会为每个表创建两个包装类.EF为我创建表格.我不相信这种方法是有道理的.
还有一个通用存储库模式,其中创建单个存储库类以服务所有实体对象.这对我来说更有意义.但对别人有意义吗?链接是最好的方法吗?
我很想从其他人那里得到关于这个话题的一些意见.您是在编写自己的存储库,使用上述方法之一,还是完全不同的方式.请分享.
我正在尝试创建一个表格,其中每个单元格都有背景颜色,它们之间有空白区域.但我似乎很难做到这一点.
我尝试设置td边距但似乎没有效果.
table.myclass td {
background-color: lime;
margin: 12px 12px 12px 12px;
}?
Run Code Online (Sandbox Code Playgroud)
如果我用填充做同样的事情,它可以工作,但是我没有单元格之间的间距.
有人可以帮我吗?
jsFiddle:http://jsfiddle.net/BfBSM/
我有一个<div>固定高度的元素,我想在该元素中垂直居中一些文本.
我一直在尝试按照http://phrogz.net/css/vertical-align/index.html上的说明进行操作.但是,它似乎对我不起作用.
我已经发布了我正在尝试的http://jsfiddle.net/scwebgroup/74Rnq/.如果我将HeaderBrand的margin-top更改为约-22px,那么它似乎是正确的.
任何人都可以看到为什么文章中描述的技术不能按预期工作?
注意:此处的最佳答案仅适用于文本未换行到第二行的情况.
在C#中编写LINQ查询时,我知道我可以使用join关键字执行连接.但是以下是做什么的?
from c in Companies
from e in c.Employees
select e;
Run Code Online (Sandbox Code Playgroud)
一本LINQ书我说它是一种连接,但不是一个正确的连接(使用join关键字).那么究竟是什么类型的连接呢?
我正在ASP.NET 4.0和IIS7中编写HTTP处理程序,我需要生成一个文件未找到的条件.
我从Mathew McDonald在C#2010中的新书Pro ASP.Net 4中复制了以下代码.(响应变量是当前HttpResponse的一个实例.)
response.Status = "File not found";
response.StatusCode = 404;
Run Code Online (Sandbox Code Playgroud)
但是,我发现第一行生成了运行时错误 HTTP status string is not valid.
如果,而不是上面的行,我使用以下内容:
response.Status = "404 Not found";
Run Code Online (Sandbox Code Playgroud)
然后一切似乎都很好.实际上,我甚至看到response.StatusCode自动设置为404.
我的问题是我不希望它在生产服务器上失败.如果我能理解实现这一目标的"正确"方法,我会感觉好多了.为什么第一种方法适用于Mathew McDonald而不适合我?第二种方法总是可靠吗?
有人可以提供任何提示吗?
我已经声明并填充了以下集合.
protected static Dictionary<string, string> _tags;
Run Code Online (Sandbox Code Playgroud)
现在我想查找集合中的特定条目.我尝试了以下内容.
thisTag = _tags.FirstOrDefault(t => t.Key == tag);
if (thisTag != default(KeyValuePair<string, string>))
...
Run Code Online (Sandbox Code Playgroud)
我收到错误:
运算符'!='不能应用于'System.Collections.Generic.KeyValuePair'和''类型的操作数
最初我试图将结果与之比较null,我想s不支持struct.
我会认为在一个集合中找到一个项目是一项非常简单的任务.那么我如何确定是否找到了我正在寻找的物品?
(注意:我正在使用,Dictionary因为我想要快速查找.我知道我可以Contains()用来确定项目是否存在.但这意味着总共有两次查找,这有点挫败了快速查找的目的.我会如果它可以快速查找项目,我很高兴使用不同的集合,我有办法确定它是否成功.)
我们使用Visual Studio和数据库项目来生成我们的数据库.
我刚刚进行了一些数据库更改(包括添加一个名为的新表Correspondence)将这些更改导入到数据库项目中,并尝试部署(重建)数据库.
当我这样做时,我收到以下错误:
创建[dbo].[通信] ...消息1934,级别16,状态1,服务器(服务器名称),行1 CREATE TABLE失败,因为以下SET选项具有不正确的设置:'ANSI_WARNINGS,ANSI_PADDING'.验证SET选项是否正确,以便与计算列和/或筛选索引和/或查询通知和/或XML数据类型方法和/或空间索引操作的索引视图和/或索引一起使用.
任何人都可以向我解释这个错误,并帮我解决它?这是数据库项目用于创建此表的脚本.
PRINT N'Creating [dbo].[Correspondence]...';
GO
SET ANSI_NULLS, QUOTED_IDENTIFIER ON;
GO
CREATE TABLE [dbo].[Correspondence] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[WorkbookId] INT NOT NULL,
[ProviderId] UNIQUEIDENTIFIER NOT NULL,
[MessageThreadId] INT NOT NULL,
[MessageThreadType] AS ((1)) PERSISTED NOT NULL
);
GO
SET ANSI_NULLS, QUOTED_IDENTIFIER OFF;
GO
PRINT N'Creating PK_Correspondence...';
GO
ALTER TABLE [dbo].[Correspondence]
ADD CONSTRAINT [PK_Correspondence] PRIMARY KEY CLUSTERED ([Id] ASC)
WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = …Run Code Online (Sandbox Code Playgroud) c# ×5
css ×2
html ×2
sql-server ×2
asp.net ×1
asp.net-mvc ×1
collections ×1
css-tables ×1
dictionary ×1
generics ×1
linq ×1
repository ×1
sql ×1