我遇到了一些代码
public int MaxHealth =>
Memory[Address].IsValid ?
Memory[Address].Read<int>(Offs.Life.MaxHp) :
0;
Run Code Online (Sandbox Code Playgroud)
现在我对Lambda表达式有点熟悉了.我只是没有看到它以这种方式使用它.
上述陈述与之间的区别是什么?
public int MaxHealth = x ? y:z;
Run Code Online (Sandbox Code Playgroud) 在我的C#代码中,我使用TransactionScope,因为我被告知不要依赖我的sql程序员将始终使用事务,我们负责和yada yada.
话说回来
它看起来像TransactionScope对象在SqlTransaction之前回滚?这是可能的,如果是这样,在事务中包装TransactionScope的正确方法是什么.
这是sql测试
CREATE PROC ThrowError
AS
BEGIN TRANSACTION --SqlTransaction
SELECT 1/0
IF @@ERROR<> 0
BEGIN
ROLLBACK TRANSACTION --SqlTransaction
RETURN -1
END
ELSE
BEGIN
COMMIT TRANSACTION --SqlTransaction
RETURN 0
END
go
DECLARE @RESULT INT
EXEC @RESULT = ThrowError
SELECT @RESULT
Run Code Online (Sandbox Code Playgroud)
如果我运行这个,我得到除以0并返回-1
从C#代码调用我得到一个额外的错误消息
遇到零除错误.
EXECUTE之后的事务计数表示缺少COMMIT或ROLLBACK TRANSACTION tatement.先前的计数= 1,当前计数= 0.
如果我给sql事务一个名字然后
无法回滚SqlTransaction.未找到该名称的任何事务或保存点.EXECUTE之后的事务计数表示缺少COMMIT或ROLLBACK TRANSACTION语句.先前的计数= 1,当前计数= 2.
有时似乎计数上升,直到应用程序完全退出
c#就是这样
using (TransactionScope scope = new TransactionScope())
{
... Execute Sql
scope.Commit()
}
Run Code Online (Sandbox Code Playgroud)
编辑:
sql代码必须适用于2000和2005
我通常是ac #programmer,但我正在VB中为这个项目工作,当我用来设置单例类时我会遵循Jon Skeet模型
public sealed class Singleton
{
static Singleton instance = null;
static readonly object padlock = new object();
Singleton()
{
}
public static Singleton Instance
{
get
{
lock (padlock)
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
//Added to illustrate the point
public static void a()
{
}
public void b()
{
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在c#中编写语句,或者其中一个变体
Singleton.Instance
什么程序是所有非静态的成员,b而不是a.
现在我在VB中做同样的事情
Private Shared _instance As StackTracker
Private Shared ReadOnly _lock As Object …
Run Code Online (Sandbox Code Playgroud) 好的,我会尽力描述这个.我有一个SP,它传递XML并更新并插入另一个表.这在昨天工作.我今天改变的是使用OPENXML vs xml.nodes加载临时表.我甚至改回来了,我仍然得到这个有趣的问题.我有一个更新并插入同一个事务中.更新工作,然后插入挂起,没有错误没有任何...进行9分钟.通常需要10秒钟.没有阻止程序根据master.sys.sysprocesses
.有趣的是,Select的Insert不返回任何行,因为它们已经存在于数据库中.更新更新72438 in
SQL Server Execution Times:
CPU time = 1359 ms, elapsed time = 7955 ms.
ROWS AFFECTED(72438)
Run Code Online (Sandbox Code Playgroud)
我不知道可能导致我的问题的原因是什么?权限我不这么认为?空间我不这么认为,因为会返回错误?
查询:
UPDATE [Sales].[dbo].[WeeklySummary]
SET [CountryId] = I.CountryId
,[CurrencyId] = I.CurrencyId
,[WeeklySummaryType] = @WeeklySummaryTypeId
,[WeeklyBalanceAmt] = M.WeeklyBalanceAmt + I.WeeklyBalanceAmt
,[CurrencyFactor] = I.CurrencyFactor
,[Comment] = I.Comment
,[UserStamp] = I.UserStamp
,[DateTimeStamp] = I.DateTimeStamp
FROM
[Sales].[dbo].[WeeklySummary] M
INNER JOIN
@WeeklySummaryInserts I
ON M.EntityId = I.EntityId
AND M.EntityType = I.EntityType
AND M.WeekEndingDate = I.WeekEndingDate
AND M.BalanceId = I.BalanceId
AND M.ItemType = I.ItemType …
Run Code Online (Sandbox Code Playgroud) SELECT X.ID, X.Field4
FROM
#TaxInvoiceData T
INNER JOIN
xxx X
ON T.Id = X.Id
AND Field2 = @VAR
AND Field3 = 'S'
Run Code Online (Sandbox Code Playgroud)
当我在表X上运行查询全表扫描时.我不明白为什么因为表X的主键是
ID INT ASC
Field3 CHAR(2) ASC
Field2 DATETIME ASC Unique Non-clustered
Run Code Online (Sandbox Code Playgroud)
还有一个索引
Field2 DATETIME ASC Non-Unique Non-clustered
Run Code Online (Sandbox Code Playgroud)
做得好
SELECT ID
FROM xxx
WHERE
Field2 = @VAR
AND Field3 = 'S'
Run Code Online (Sandbox Code Playgroud)
索引寻求
提前致谢.
当我输入时,我正在打字和胖手指的东西
=*
Run Code Online (Sandbox Code Playgroud)
在sql窗口(2008 SSMS连接到2005服务器)中,它变为蓝色作为关键字.
我无法弄清楚,或谷歌,这是做什么的.我知道*=但不是=*
这个运营商做什么?
我正在尝试练习键盘快捷键,以成为一名更有效率的程序员。我遇到了一个快捷方式,表示切换书签是Ctrl+ K,K。但是在我的环境中,快捷键是Ctrl+ B,Ctrl+ T。
我正在尝试找出造成这种差异的原因是什么?
我正在使用C#Web项目中的ReSharper 9.2运行Visual Studio Enterprise 2015,
我怀疑该网站是错误的,因为其他网站也说同样的话。
所以对于我的Sitecore网站,我试图让它用户登录,不能使用extranet\Annoymous帐户.我已阅读并尝试过
但我错过了一些东西,asp表单身份验证有副问题,它会将您返回到原始页面,从而忽略用户的桌面或页面编辑器选项.
我感到沮丧的部分是,这个逻辑似乎已经内置在SiteCore中.例如,如果我尝试访问http:// site/sitecore/shell并且我没有登录站点核心将我重定向到登录页面.那么我怎样才能为我的整个网站启用此功能.
UPDATE
我的安全编辑器看起来像这样
即使我取消保护sitecore对象并拒绝访问主对象,我仍然可以访问该站点.
在web.config中,我的"站点"部分如下所示
<sites>
<site name="shell" virtualFolder="/sitecore/shell" physicalFolder="/sitecore/shell" rootPath="/sitecore/content" startItem="/home" language="en" database="core" domain="sitecore" loginPage="/sitecore/login" content="master" contentStartItem="/Base" enableWorkflow="true" enableAnalytics="false" analyticsDefinitions="content" xmlControlPage="/sitecore/shell/default.aspx" browserTitle="International" htmlCacheSize="2MB" registryCacheSize="3MB" viewStateCacheSize="200KB" xslCacheSize="5MB" disableBrowserCaching="true" />
<site name="login" virtualFolder="/sitecore/login" physicalFolder="/sitecore/login" enableAnalytics="false" database="core" domain="sitecore" disableXmlControls="true" />
<site name="admin" virtualFolder="/sitecore/admin" physicalFolder="/sitecore/admin" enableAnalytics="false" enableWorkflow="true" domain="sitecore" loginPage="/sitecore/admin/login.aspx" />
<site name="service" virtualFolder="/sitecore/service" physicalFolder="/sitecore/service" />
<site name="modules_shell" virtualFolder="/sitecore modules/shell" physicalFolder="/sitecore modules/shell" rootPath="/sitecore/content" startItem="/home" language="en" database="core" domain="sitecore" content="master" enableAnalytics="false" enableWorkflow="true" />
<site name="modules_website" virtualFolder="/sitecore modules/web" physicalFolder="/sitecore modules/web" …
Run Code Online (Sandbox Code Playgroud) 我有一个Json对象
{
"ProjectDirectory": "C:\\Main",
"SiteName": "RemoteOrder",
"ParentPath": "/Areas//Views",
"VirtualDirectories": [
{
"Name": "Alerts",
"Path": "\\Areas\\RemoteOrder\\Views\\Alerts"
},
{
"Name": "Analytics",
"Path": "\\Areas\\RemoteOrder\\Views\\Analytics"
},
{
"Name": "Auth",
"Path": "\\Areas\\RemoteOrder\\Views\\Auth"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我创造的
$config = [Newtonsoft.Json.Linq.JObject]::Parse($file)
Run Code Online (Sandbox Code Playgroud)
我可以访问类似的东西
$config["ProjectDirectory"]
$config["VirtualDirectories"]
Run Code Online (Sandbox Code Playgroud)
但是我无法访问VirtualDirectories JArray中的元素
我确认过了
$config["VirtualDirectories"][0].GetType() // JObject
$config["VirtualDirectories"].GetType() // JArray
$config // JObject
Run Code Online (Sandbox Code Playgroud)
我试过了
$config["VirtualDirectories"][0]["Name"]
$config["VirtualDirectories"][0]["Path"]
$config["VirtualDirectories"][0][0]
$config["VirtualDirectories"][0].GetValue("Name")
Run Code Online (Sandbox Code Playgroud)
当我尝试
$config["VirtualDirectories"][0].ToString()
Run Code Online (Sandbox Code Playgroud)
我明白了
{
"Name": "Alerts",
"Path": "\\Areas\\RemoteOrder\\Views\\Alerts"
}
Run Code Online (Sandbox Code Playgroud)
我真正想做的是访问它一个循环,但我似乎无法访问JObject元素
我必须将表A(税务相关)加入表B(客户相关)
我最多拉1条记录但有时没有记录.
现在我需要将组合记录返回给用户
我虽然做一个简单的笛卡尔积可以有效
SELECT * FROM TableA, TableB
Run Code Online (Sandbox Code Playgroud)
但如果TableA或TableB为空,则不起作用
我会做一个完整的外部联接,但现在没有任何东西可以加入.我可以创建带有标识列的临时表,然后加入它们(因为1 = 1)
但我正在寻找一种不同的方式?
谢谢
sql ×4
c# ×3
sql-server ×3
asp.net ×1
c#-6.0 ×1
indexing ×1
json ×1
json.net ×1
powershell ×1
resharper ×1
singleton ×1
sitecore ×1
t-sql ×1
transactions ×1
vb.net ×1