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.???? } } 更新:使用不同的方法附件在这种情况下不起作用。 所以我想我需要一种基于reflection的方法。

Thread.Sleep(2500)与Task.Delay(2500).Wait()

我想要澄清一下。 我知道Task.Delay将在内部使用Timer,它显然是基于任务的(等待),而Thread.Sleep将导致线程被阻止。 但是,在任务上调用.Wait会导致线程被阻塞吗? 如果没有,可以假设Task.Delay(2500).Wait()优于Thread.Sleep(2500) 。 这与我正在调用的SO问题/答案略有不同.Wait() 。

C#serialport和hyperterminal

我正在使用c#和Serialport和com0com(虚拟串口)我的问题是我的c#应用程序无法从超级终端重新获取数据,事件DataRecived未被触发,如果我调用manualy readExisting我什么都没有来测试这个问题你可以如果您运行此应用程序的2个实例,请创建一个基本的c#应用程序,就像这个有相同问题的应用程序http://balau82.wordpress.com/2009/04/18/simplest-serial-port-terminal-in-csharp/没关系,但是如果你运行一个实例并且超级终端,数据会从C#发送到hipererminal但不会从hyperterm发回。

在我们的解决方案中将entity framework放在何处?

好的,我们有一个包含以下项目的解决方案: 商业逻辑 实体 数据访问 公用事业 unit testing 用户界面 它是一个非常大的企业级应用程序。 我的问题是,我们在哪里放置entity framework? 一方面,EF看起来像数据访问技术,应该进入DataAccess项目。 但另一方面,它会生成自己的实体,这些实体应放在我们已经很大的实体项目中。 哪个项目更适合entity framework? 是否有可能将实体与EF中的持久性逻辑分开?

使用带有标志枚举的ProtoBuf-Net时出错

在使用ProtoBuf-Net并序列化枚举属性时,枚举设置为[FlagsAttribute],在序列化由多个标志组成的枚举值时收到以下错误消息。 错误是:值(MyEnum.MyValue)没有属性MyProperty的线表示 MyEnum在哪里: [Flags] public Enum MyEnum { MyValue = 0, MyValue1 = 1, MyValue2 = 2, MyValue4 = 4, MyValue8 = 8, } 和 MyProperty = MyEnum.MyValue2 | MyEnum.MyValue4; 似乎是protobuf-net中的一个bug?

超类构造函数中的虚拟化

我认为根据OOP的设计,虚拟化在超类构造函数中不起作用。 例如,请考虑以下C#代码。 using System; namespace Problem { public class BaseClass { public BaseClass() { Console.WriteLine(“Hello, World!”); this.PrintRandom(); } public virtual void PrintRandom() { Console.WriteLine(“0”); } } public class Descendent : BaseClass { private Random randomValue; public Descendent() { Console.WriteLine(“Bonjour, Monde!”); randomValue = new Random(); } public override void PrintRandom() { Console.WriteLine(randomValue.NextDouble().ToString()); } public static void […]

使用C#登录https站点

我正在尝试编写一个登录Verizon网站的小程序,然后检查该月剩余的分钟数。 我需要帮助找出如何使用C#登录网站。 我知道我需要使用webrequest发布登录信息,但我不知道如何去做。 登录表单的网站是https://login.verizonwireless.com/amserver/UI/Login ,但我不确定我要发布到网站登录的信息以及如何操作。 以下是我发现的网站来源。 如果有人可以帮我弄清楚如何从C#程序登录,我将非常感激。 感谢您的任何帮助。 form method =“post”autocomplete =“off”action =“https://login.verizonwireless.com:443/amserver/UI/Login”name =“loginForm”id =“loginForm”onsubmit =“return disableBut(); “> input type =“hidden”name =“realm”value =“vzw”/> input type =“hidden”name =“goto”value =“”/> input type =“hidden”name =“gotoOnFail”value =“”/> input type =“hidden”name =“gx_charset”value =“UTF-8”/> input type =“hidden”name =“rememberUserNameCheckBoxExists”value =“Y”/> h2 style =“padding-left:0px;”>登录我的Verizon div class =“clear10”> / div>

在LINQ中选择计数

我有一个SQL Server表,其中包含ResolvedDate和ResolvedBy列。 现在我想选择这两列并计算他们的结果,我认为我会这样实现: _dataContext.Activities .Where(a => a.IsResolved && a.ResolvedBy == userId) .Select(a => new { a.ResolvedDate, ***COUNT*** }); 如您所见,Count-Part缺失。 我希望获得已在此ResolvedDate中完成的所有活动并对其进行计数。 我该如何实现呢?

ToolStrip内存泄漏

我一直在使用SWF-ToolStrip解决内存泄漏问题。 根据这个http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=115600#已经解决了。 但这里看起来并非如此。 有谁知道如何解决这个问题?

从Windows Phone 7中读取文件

我的项目中有一个名为data/的文件夹,其中包含txt files 。 我将Build Action配置为所有文件的resources 。 我试过这些不同的方式: 方法1 var resource = Application.GetResourceStream(new Uri(fName, UriKind.Relative)); StreamReader streamReader = new StreamReader(resource.Stream); Debug.WriteLine(streamReader.ReadToEnd()); 方法2 IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication(); string[] fileNames = myIsolatedStorage.GetFileNames(“*.txt”); 方法3 using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication()) { using (StreamReader fileReader = new StreamReader(new IsolatedStorageFileStream(fName, FileMode.Open, isf))) { while (!fileReader.EndOfStream) { string line = fileReader.ReadLine(); al.Add(line); Debug.WriteLine(line); […]