entity framework5.0b2代码优先:同一个表的一对多和一对一,WITH Cascade Delete

经过几个小时的试验和错误,我到达了这个线程 ,解释了如何建立一对多关系和一对一关系与相同的两种类型。 但是,我无法使用Cascade Delete: 抛出:“无法确定依赖操作的有效排序。由于外键约束,模型要求或存储生成的值,可能存在依赖关系。” (System.Data.UpdateException)exception消息=“无法确定依赖操作的有效排序。由于外键约束,模型要求或存储生成的值,可能存在依赖关系。”,Exception Type =“System.Data.UpdateException “ 只有当我没有取消设置1:1关系时才会发生这种情况(参见下面的代码),我认为这会产生无效的引用。 我只是想知道是否有更好的方式来表示这一点。 示例代码: class Program { static void Main(string[] args) { Database.SetInitializer(new DropCreateDatabaseAlways()); using (var ctx = new Context()) { var user = new User(); ctx.Users.Add(user); ctx.SaveChanges(); var source = new PaymentSource(); user.PaymentSources = new Collection(); user.PaymentSources.Add(source); user.DefaultPaymentSource = source; ctx.SaveChanges(); // if I don’t do […]

在.net中加载dll而不锁定它

我正在处理一个任务,我必须加载DLL并从类名称等获取一些信息…但是当我将该DLL加载到我的代码中时,它被锁定并且无法从源代码构建,直到我关闭加载程序,我已经尝试了某些解决方案,但它们都不适合我 Shadowcopy:在这种情况下,当我影子复制组件然后在那之后,如果我已经改变了一些东西 我的主要dll在我的加载应用程序中仍然是旧的。 System.Reflection.assembly.loadfrom(System.IO.GetBytes( “ASM-路径”)); //有时工作,但并不总是 System.Reflection.assembly.ReflectionOnlyConext(); //不起作用 有没有适当的解决方案

entity framework包括filter子集合

我在LINQ查询中为包含的项添加一些过滤条件有些困难。 我的查询是这样的 var item = _Context.Order.Include(“Inner”) .Include(“Inner.first”) .Include(“Inner.second”) .Where(x => ( !(x.IsDeleted) && (x.IsActive) && (x.itemid == id))).FirstOrDefault(); 在上面的代码中,“Inner”是另一个项目列表。 现在我需要过滤内部项目。 我只需要内部项目,过滤条件为inner.isDeleted = true。 查询应该返回一个类, public class Order { public string Name { get; set; } public List Inner{ get; set; } public bool IsDeleted { get; set; } } 和InnerDetails类一样 public class InnerDetails { public […]

在我的C#Win应用程序中打开Windows计算器?

我知道我可以使用以下代码打开Windows Calculator: System.Diagnostics.Process.Start(“calc”); 但是我想在我的C#Win应用程序中打开它,即:我不想在独立窗口中打开它,我想在我的窗口中打开它。 我该怎么做 ?

使用JsonConverter进行Json.NET自定义序列化 – 如何获取“默认”行为

我的类DataType有一个JsonConverter。 当Json中使用的普通字符串作为DataType类型的属性值时,我想做一些特殊处理。 在值是“完整”对象的情况下,我想进行“正常”反序列化。 这是我的尝试 public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { if (reader.Value != null && reader.ValueType == typeof (string)) { return someSpecialDataTypeInstance; } else if (reader.TokenType == JsonToken.StartObject) { DataType dataType = serializer.Deserialize(reader); return dataType; } else { throw new JsonSerializationException(); } } 但这不起作用,因为这一行:DataType dataType = serializer.Deserialize(reader); 导致无限递归。 这可以轻易地完成吗? […]

模拟entity framework数据库

我正在使用Entity Framework 4+。 是否可以使用一些随机数据从架构中自动创建一些MOCK数据库? 整合,放入整体,字符串,放置一些GUID或其他…… 它可以帮助我调试我的应用程序很多。 谢谢詹姆斯

C#到VB6 COM事件(“对象或类不支持事件集”)

真的把这头发拉出来…… 我有一个C#项目,其接口定义为: /* Externally Accessible API */ [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] public interface ISerial { [DispId(1)] bool Startup(); [DispId(2)] bool Shutdown(); [DispId(3)] bool UserInput_FloorButton(int floor_number); [DispId(4)] bool Initialize(); } /* Externally Accesssible Event API */ [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] public interface ISerialEvent { [DispId(5)] void DataEvent(); } [ComSourceInterfaces(typeof(ISerialEvent), typeof(ISerial))] [ClassInterface(ClassInterfaceType.None)] public class SerialIface : ISerial { public delegate void DataEvent(); public […]

多个generics模糊

下面的代码是完全相同的,除了一个是C#,另一个是VB.Net。 C#编译得很好,但VB.Net会抛出警告: 接口’System.IObserver(Of Foo)’与另一个实现的接口’System.IObserver(Of Bar)’不明确,因为’接口IObserver(Of T)中的’In’和’Out’参数 为什么VB.Net显示警告而不是C#? 最重要的是,我该如何解决这个问题? Obs:我正在使用.Net Framework 4和Visual Studio 2010 Ultimate。 VB.Net代码: Module Module1 Sub Main() End Sub Public Class Foo End Class Public Class Bar End Class Public Class Beholder Implements IObserver(Of Foo) Implements IObserver(Of Bar) #Region “Impl” Public Sub OnCompleted() Implements System.IObserver(Of Bar).OnCompleted End Sub Public Sub OnError([error] As System.Exception) […]

C#委托没有绑定到实例?

有没有办法存储委托而不将它绑定到对象,就像使用MethodInfo一样? 现在我正在存储一个MethodInfo,所以我可以给它调用方法的对象。 但我更愿意让它成为代表。 就像有一个属性告诉.net第一个参数是“这个”吗? MethodInfo mi; Action func; mi.Invoke(this,new object[]{str}); func(this, str); //Is this possible with a delegate?

C#System.Windows.Automation获取元素文本

我正在尝试使用C#中的Automation从应用程序控件中获取文本/标签。 到目前为止,我能够使用此函数获取AutomationElement应用程序树(例如记事本): private void WalkControlElements(AutomationElement rootElement, TreeNode treeNode) { AutomationElement elementNode = TreeWalker.ContentViewWalker.GetFirstChild(rootElement);; while (elementNode != null) { TreeNode childTreeNode = treeNode.Nodes.Add(elementNode.Current.ControlType.LocalizedControlType); // here I want to get text from ‘elementNode’ WalkControlElements(elementNode, childTreeNode); elementNode = TreeWalker.ControlViewWalker.GetNextSibling(elementNode); } } 我试图按照这篇文章http://msdn.microsoft.com/en-us/library/ms788751(v=vs.110).aspx但它只能获得文本属性作为字体名称,字体粗细等。 有人能指出正确的程序如何使用Automation获取元素文本?