WITH y AS (
WITH x AS (
SELECT * FROM MyTable
)
SELECT * FROM x
)
SELECT * FROM y
Run Code Online (Sandbox Code Playgroud)
这样的事情有用吗?我之前尝试过,但我无法让它发挥作用.
我想用它ROW_NUMBER()
来...
max(ROW_NUMBER())
- >或者我猜这也是所有行的计数我试过做:
SELECT max(ROW_NUMBER() OVER(ORDER BY UserId)) FROM Users
Run Code Online (Sandbox Code Playgroud)
但它似乎没有工作......
ROW_NUMBER()
使用给定的资料片,即得.如果我有一个名字,我想知道名字来自哪一行.我认为这将类似于我为#1尝试的东西
SELECT ROW_NUMBER() OVER(ORDER BY UserId) From Users WHERE UserName='Joe'
Run Code Online (Sandbox Code Playgroud)
但这也不起作用......
有任何想法吗?
我在这里看到:
http://www.pgrs.net/2008/1/11/command-line-clipboard-access
在linux和osx中有一种方法可以从命令行复制到剪贴板.所以我运行了我的cygwin setup.exe,但找不到xsel包.我猜也许这个软件包还没有被移植到Windows?看起来在Windows中有一个工具可以做到:
http://www.labnol.org/software/tutorials/copy-dos-command-line-output-clipboard-clip-exe/2506/
我想我会试试 - 但我认为我会问是否有人找到了一个好的解决方案.
通过主键选择多个实体的最有效方法是什么?
public IEnumerable<Models.Image> GetImagesById(IEnumerable<int> ids)
{
//return ids.Select(id => Images.Find(id)); //is this cool?
return Images.Where( im => ids.Contains(im.Id)); //is this better, worse or the same?
//is there a (better) third way?
}
Run Code Online (Sandbox Code Playgroud)
我意识到我可以做一些性能测试来比较,但我想知道是否实际上有比两者更好的方法,并且我正在寻找一些启示,这两个查询之间的区别是,如果有的话,一旦它们一直存在"翻译".
我们在SCM下有一个项目.当我从我的机器构建它并通过msdeploy发布到远程服务器时,一切正常.
当我的同事用同一个项目尝试相同的事情时,从SCM新推出,在远程服务器实体框架4.3.1上DbMigrator
抛出:
未应用自动迁移,因为它会导致数据丢失.
事实证明,初始发布到远程服务器的人似乎是"赢家".如果我们将数据库放在远程服务器上,那么我的同事可以发布并且我被锁定了.我的出版物导致上述相同的错误.
配置DbMigrator
看起来像这样:
var dbMgConfig = new DbMigrationsConfiguration()
{
AutomaticMigrationsEnabled = true,
//***DO NOT REMOVE THIS LINE,
//DATA WILL BE LOST ON A BREAKING SCHEMA CHANGE,
//TALK TO OTHER PARTIES INVOLVED IF THIS LINE IS CAUSING PROBLEMS
AutomaticMigrationDataLossAllowed=false,
//***DO NOT REMOVE THIS LINE,
ContextType = typeof(TPSContext),
MigrationsNamespace = "TPS.Migrations",
MigrationsAssembly = Assembly.GetExecutingAssembly()
};
Run Code Online (Sandbox Code Playgroud)
我认为这与新表__MigrationHistory
和存储在其行中的令人讨厌的长十六进制字符串有关.
我不想对出版生活承担全部责任.我能指出什么?
c# entity-framework ef-code-first entity-framework-4.3 dbmigrator
我正在将一堆新行插入到表中,该表定义如下:
CREATE TABLE [sometable](
[id] [int] IDENTITY(1,1) NOT NULL,
[someval] sometype NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
使用以下插入:
insert into sometable select somefield as someval from othertable
Run Code Online (Sandbox Code Playgroud)
当我完成后,我想知道所有新插入的行的ID.SCOPE_IDENTITY()仅返回插入的最后一行ID.
我怎样才能获得所有新ID?
一种让人想到的方法是从sometable和scope_identity()后插入中获取当前最大的标识,并使用这两个值从sometable中进行选择.例如:
declare @currentMaxId int;
select @currentMaxId=MAX(id) from sometable
insert into sometable select somefield as someval from othertable
select * from sometable where id>@currentMaxId and id<=SCOPE_IDENTITY()
Run Code Online (Sandbox Code Playgroud)
有更好的模式吗?
让我感到困惑的东西,但从来没有引起任何问题......推荐的事件发送方式如下:
public event EventHandler SomeEvent;
...
{
....
if(SomeEvent!=null)SomeEvent();
}
Run Code Online (Sandbox Code Playgroud)
在多线程环境中,此代码如何保证另一个线程不会更改SomeEvent
检查null和事件调用之间的调用列表?
我想知道是否存在ConcurrentQueue的实现/包装器,类似于BlockingCollection,其中从集合中获取不会阻塞,而是异步并且将导致异步等待直到将项目放入队列中.
我已经提出了自己的实现,但它似乎没有按预期执行.我想知道我是否正在重塑已经存在的东西.
这是我的实现:
public class MessageQueue<T>
{
ConcurrentQueue<T> queue = new ConcurrentQueue<T>();
ConcurrentQueue<TaskCompletionSource<T>> waitingQueue =
new ConcurrentQueue<TaskCompletionSource<T>>();
object queueSyncLock = new object();
public void Enqueue(T item)
{
queue.Enqueue(item);
ProcessQueues();
}
public async Task<T> Dequeue()
{
TaskCompletionSource<T> tcs = new TaskCompletionSource<T>();
waitingQueue.Enqueue(tcs);
ProcessQueues();
return tcs.Task.IsCompleted ? tcs.Task.Result : await tcs.Task;
}
private void ProcessQueues()
{
TaskCompletionSource<T> tcs=null;
T firstItem=default(T);
while (true)
{
bool ok;
lock (queueSyncLock)
{
ok = waitingQueue.TryPeek(out tcs) && queue.TryPeek(out firstItem);
if (ok)
{ …
Run Code Online (Sandbox Code Playgroud) 我有一个项目,有许多不同的类在一组通用的表中查询和修改数据.我已经设置了一个.dbml文件,它为我们提供了一个DataContext类.我的问题是,是否应该由所有对象使用DataContext的单个实例,或者是否可以安全使用多个实例.我也想知道单个DataContext的线程安全性,以及是否应同步访问它的方法.
使用XmlDocument.Load时,我发现如果文档引用DTD,则会与提供的URI建立连接.有没有办法防止这种情况发生?
c# ×6
sql ×3
sql-server ×3
.net ×2
.net-4.5 ×1
async-await ×1
asynchronous ×1
cygwin ×1
dbmigrator ×1
events ×1
identity ×1
insert ×1
linq ×1
linq-to-sql ×1
nested ×1
queue ×1
row-number ×1
t-sql ×1
xml ×1