小编Nie*_*sma的帖子

Linq2SQL:未在datacontext中创建的更新对象

通常在更新linq2sql中的对象时,从datacontext获取对象并使用相同的datacontext来保存对象,对吧?

更新一个尚未被用于执行保存操作的datacontext检索的对象的最佳方法是什么,即我使用flourinefx在flex和asp.net之间传递数据,以及当对象从客户端返回时保存我不知道如何保存对象?

   public static void Save(Client client)
    {
        CompanyDataContext db = new CompanyDataContext();
        Validate(client);
        if(client.Id.Equals(Guid.Empty))
        {
            //Create (right?):
            client.Id = Guid.NewGuid();
            db.Clients.InsertOnSubmit(client);
            db.SubmitChanges();
        }
        else
        {
            //Update:
            OffertaDataContext db = new OffertaDataContext();
            db.Clients.????

        }
    }
Run Code Online (Sandbox Code Playgroud)

更新:使用Attach的不同方法在这种情况下不起作用.所以我想需要一种基于反射的方法.

c# asp.net linq-to-sql

4
推荐指数
1
解决办法
2845
查看次数

Linq2Sql:管理DataContext

在以下代码中不起作用

public void Foo()
{
   CompanyDataContext db = new CompanyDataContext();
   Client client = (select c from db.Clients ....).Single();
   Bar(client);
}

public void Bar(Client client)
{
   CompanyDataContext db = new CompanyDataContext();
   db.Client.Attach(client);
   client.SomeValue = "foo";
   db.SubmitChanges();
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,我收到错误信息."已经尝试附加或添加一个非新的实体,可能是从另一个DataContext加载的.这是不受支持的."

如何在整个应用程序中使用DataContexts,这样您就不需要传递引用?

什么

c# asp.net linq-to-sql

4
推荐指数
1
解决办法
6412
查看次数

使用HttpModule而不是Global.asax

我如何转换:

<%@ Application Language="C#" %>

<script runat="server">

    void Session_Start(object sender, EventArgs e) 
    {


    }

</script>
Run Code Online (Sandbox Code Playgroud)

对于使用HttpModule的方案?

另外,我可以将Global.asax编写为纯C#而不是使用标签吗?

c# asp.net

4
推荐指数
1
解决办法
1331
查看次数

MSSQL:只允许阅读某些视图的有限帐户?

如何创建仅允许读取特定数据库的某些视图的MS SQL服务器用户?

sql-server security

4
推荐指数
1
解决办法
3557
查看次数

Flex:DataGridColumn中的可选文本?

如何在DataGridColumn中选择文本(以便我可以复制)?

apache-flex actionscript

4
推荐指数
2
解决办法
3172
查看次数

ASP.NET:Eval中的对象

如果我的DataSource中有对象,即

.Select(e => new { Foo = new { Bar = "HelloWorld" }, Price = 12345 }
Run Code Online (Sandbox Code Playgroud)

我如何使用Eval引用它?

<%# Eval("Foo.Bar") %>
Run Code Online (Sandbox Code Playgroud)

不起作用?(Eval("价格")确实....)

无论如何要做<%#Eval(Eval("Foo"),"Bar")%>或其他什么?

c# asp.net

4
推荐指数
1
解决办法
502
查看次数

如何让UserControl调度HelpRequest事件

在"HelpRequest-mode"中单击时,如何让UserControl调度HelpRequest事件?

我试图用一些彩色背景设置最简单的UserControl.但无法让它发挥作用.

更新

namespace SeoTools.UI.Components
{
    public partial class HelpRequestTest : UserControl
    {
        public HelpRequestTest()
        {
            InitializeComponent();
        }

        protected override void OnHelpRequested(HelpEventArgs hevent)
        {
            base.OnHelpRequested(hevent); //can't get it here either
        }
    }
}

namespace SeoTools.UI.Components
{
    partial class HelpRequestTest
    {
        /// <summary> 
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary> 
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing) …
Run Code Online (Sandbox Code Playgroud)

c# user-controls winforms

4
推荐指数
1
解决办法
779
查看次数

ASP.NET:构建以列表作为参数的用户控件?

如何构建一个以列表作为参数的用户控件,即:

<foo:TabMenu runat="server">
<Tabs>
<Tab Label="Tab1" PanelId="pnlTab1"/>
<Tab Label="Tab2" PanelId="pnlTab2"/>
<Tab Label="Tab3" PanelId="pnlTab3"/>
</Tabs>
</foo:TabMenu>
Run Code Online (Sandbox Code Playgroud)

c# asp.net

3
推荐指数
1
解决办法
1543
查看次数

麻烦一些linq2sql生成的T-SQL

对于以下LINQ2SQL查询,我遇到SQL超时问题:

DateTime date = DateTime.Parse("2013-08-01 00:00:00.000");

Clients.Where(e => 
    (
        !Orders.Any(f => f.ClientId.Equals(e.Id) && f.OrderDate >= date)
        ||
        Comments.Any(f => f.KeyId.Equals(e.Id))
    )
).Count().Dump();
Run Code Online (Sandbox Code Playgroud)

在LinqPad中运行它时,将需要永远完成,如果在服务器上运行,将成为SQL超时.

生成的SQL代码:

-- Region Parameters
DECLARE @p0 DateTime = '2013-08-01 00:00:00.000'
-- EndRegion
SELECT COUNT(*) AS [value]
FROM [Clients] AS [t0]
WHERE (NOT (EXISTS(
    SELECT NULL AS [EMPTY]
    FROM [Orders] AS [t1]
    WHERE ([t1].[ClientId] = [t0].[Id]) AND ([t1].[OrderDate] >= @p0)
    ))) OR (EXISTS(
    SELECT NULL AS [EMPTY]
    FROM [Comments] AS [t2]
    WHERE [t2].[KeyId] = [t0].[Id]
    ))
Run Code Online (Sandbox Code Playgroud)

在SQL-studio中正常工作!

但: …

c# t-sql sql-server linq-to-sql sql-execution-plan

3
推荐指数
1
解决办法
194
查看次数

Visual Studio Online:如何删除冲刺板上的“新建/已批准/已提交”列

如何在Visual Studio Online中使用任务删除冲刺板上的这些列:

在此处输入图片说明

似乎没有理由让他们在那里?

azure-devops

3
推荐指数
1
解决办法
444
查看次数