我想在一个类似于此的表中计算每个成员的安装数量.但这个计数让我疯狂......
MemberID | InstallDate
1 | Yesterday
2 | Today
1 | Today
3 | Today
Run Code Online (Sandbox Code Playgroud)
上表应该产生类似这样的东西..
MemberID | CountNumberOfInstallations
1 | 2
2 | 1
3 | 1
Run Code Online (Sandbox Code Playgroud)
ps我知道这听起来像家庭作业,但它不是.
我是否可以在商业项目中使用Google Weather API,如果我刚添加了"由Google支持的天气"链接?
我的数据类是
public class Data
{
public DateTime? Date { get; set; }
public int Count { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
以及以下查询
var queryable = db.MemberStats.Where(ms => ms.MemberId == User.Identity.GetUserId())
.GroupBy(n => TruncateTime(n.Commited))
.Select(g => new Data()
{
Date = g.Key,
Count = g.Count()
}
).ToList();
Run Code Online (Sandbox Code Playgroud)
返回
System.NotSupportedException: 'Method 'System.Nullable`1[System.DateTime]
TruncateTime(System.Nullable`1[System.DateTime])' has no supported translation to SQL.'
Run Code Online (Sandbox Code Playgroud)
这有什么问题?我该如何解决这个问题?
更新: 如果我在 GroupBy() 之前添加 ToList() 我有
at System.Data.Entity.Core.Objects.EntityFunctions.TruncateTime(Nullable`1 dateValue)
at .Controllers.ChartController.<>c.<Index>b__1_0(MemberStat n) in \Controllers\ChartController.cs:line 30
at System.Linq.Lookup`2.Create[TSource](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 …Run Code Online (Sandbox Code Playgroud) 在我的winforms应用程序中,我在本地级别散列连接字符串.
但这里有几个问题.
我的应用程序解密连接字符串后,连接字符串信息以明文形式发送?既然我的应用程序是在本地安装的,那么中间人可能是任何用户?
我如何保护连接字符串,因为"强制加密"选项需要额外的证书?
我的SQL Server视图
SELECT
geo.HyperLinks.CatID, geo.Tags.Tag, geo.HyperLinks.HyperLinksID
FROM
geo.HyperLinks LEFT OUTER JOIN
geo.Tags INNER JOIN
geo.TagsList ON geo.Tags.TagID = geo.TagsList.TagID ON geo.HyperLinks.HyperLinksID = geo.TagsList.HyperLinksID WHERE HyperLinksID = 1
Run Code Online (Sandbox Code Playgroud)
返回这些......
HyperLinksID CatID Tags
1 2 Sport
1 2 Tennis
1 2 Golf
Run Code Online (Sandbox Code Playgroud)
我应该如何修改上面的结果呢
HyperLinksID CatID TagsInOneRowSeperatedWithSpaceCharacter
1 2 Sport Tennis Golf
Run Code Online (Sandbox Code Playgroud)
更新:布拉德建议我来到这里......
DECLARE @TagList varchar(100)
SELECT @TagList = COALESCE(@TagList + ', ', '') + CAST(TagID AS nvarchar(100))
FROM TagsList
WHERE HyperLinksID = 1
SELECT @TagList
Run Code Online (Sandbox Code Playgroud)
现在结果看起来像
HyperLinksID CatID TagsInOneRowSeperatedWithSpaceCharacter
1 2 …Run Code Online (Sandbox Code Playgroud) 我曾经有过这个
Dt = MyMod.GetDataTable("SELECT TOP " & QuestionsPerCats(i) & " * From Questions WHERE CategoriesID ='" & Cats(i) & "' ORDER BY NEWID()")
Run Code Online (Sandbox Code Playgroud)
但现在我决定使用sqlparameters之类的
Dim cmd As New SqlCommand("SELECT TOP @QuestionsPerCats * From Questions WHERE CategoriesID = @CategoriesID ORDER BY NEWID()", conn)
Dim sqlParam As SqlParameter = Nothing
sqlParam = cmd.Parameters.Add("@QuestionsPerCats", SqlDbType.SmallInt)
sqlParam.Value = QuestionsPerCats(i)
sqlParam = cmd.Parameters.Add("@CategoriesID", SqlDbType.SmallInt)
sqlParam.Value = Cats(i)
Run Code Online (Sandbox Code Playgroud)
不幸的是"渲染"之类的
SELECT TOP @QuestionsPerCats * From Questions WHERE CategoriesID = @CategoriesID ORDER BY NEWID()
Run Code Online (Sandbox Code Playgroud)
并返回以下错误
Incorrect syntax near …Run Code Online (Sandbox Code Playgroud) 我很乐意使用web.config来执行从旧域到另一个域的301重定向.我怎么能这样做?
在你的答案中,请记住IIS是v7和
我不想使用任何第三方DLL像urlrewriteing.net等或使用ASP.NET代码或配置IIS,为此.
我相信这可以做到,但是怎么做?
更新:我尝试了Parvesh的答案,但我感觉不是"正式"支持或者我正在制造其他非常错误的东西.
尝试通过appcmd创建应用程序池时
C:\Windows\System32\inetsrv>appcmd add apppool /name: testname /managedRuntimeVe
rsion: -v4.0 /managedPipelineMode: -Integrated
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
The identifier is not supported in the current command usage. You specified 'testname'.
Run Code Online (Sandbox Code Playgroud)
那么,这有什么问题呢?
Tags类是
public class Tags
{
public int TagId;
public string Tag;
public string TagLink;
public int TagCount;
}
Run Code Online (Sandbox Code Playgroud)
我的查询是
var v = db.QuestionTags
.GroupBy(n => n.Tag.Tag1)
.Select(n => new Tags
{
Tag = n.Key,
TagCount = n.Count()
}
)
.OrderByDescending(n => n.TagCount);
Run Code Online (Sandbox Code Playgroud)
上面的方法的问题是我也无法映射TagId和TagLink.我该如何解决这个问题?
sql ×3
asp.net ×2
c# ×2
iis-7 ×2
linq ×2
vb.net ×2
api ×1
appcmd ×1
count ×1
distinct ×1
google-api ×1
group-by ×1
iis ×1
redirect ×1
select ×1
sql-server ×1
sqlparameter ×1
t-sql ×1
weather ×1
weather-api ×1
web-config ×1
winforms ×1