Tag: notsupportedexception

EF4.1多个嵌套实体包含获取NotSupportedException?

编辑:根据测试更新了问题描述 – 2011年9月12日。 我有这个查询,每当我调用.ToList()时抛出NotSupportedException(“不支持指定的方法。”)。 IQueryable query = db .FileDefinitions .Include(x => x.DefinitionChangeLogs) .Include(x => x.FieldDefinitions.Select(y => y.DefinitionChangeLogs)) // bad .Include(x => x.FieldDefinitions.Select(y => y.FieldValidationTables)) // bad .Where(x => x.IsActive); List retval = query.ToList(); 如果我注释掉我评论为“坏”的任一行,那么查询就可以了。 我也尝试在我的对象模型中包含不同的嵌套实体,效果相同。 包括任何2将导致崩溃。 通过嵌套,我的意思是导航属性的导航属性。 我也尝试将.Include方法与字符串路径一起使用:结果相同。 我的表结构如下所示: 这显然使用MySQL 5.1(显然是InnoDB表)作为MySQL Connector / NET 6.3.4的数据库存储。 所以我的问题是:为什么这不起作用? 注意:如果我明确加载此链接中的相关实体,我可以让它工作。 但我想知道为什么EF讨厌我的数据模型。 解答:MySQL Connector显然无法处理第二个嵌套实体包含。 它抛出NotSupportedException,而不是.NET EF。 当我使用EF4.0尝试这个时,同样的错误也出现了,但我当时的研究让我相信它是导致问题的自我跟踪实体。 我尝试升级到最新的Connector,但它开始导致Out of […]

已尝试附加或添加非新的实体,可能已从另一个DataContext加载

我遇到了NotSupportedException的问题,我得到:“尝试附加或添加一个非新的实体,可能是从另一个DataContext加载的。” partial class SupplyOfert : Model { public SupplyOfert(int id = 0) { if (id > 0) this.get(id); } public Supplier supplier { get { return this.Supplier; } set { this.Supplier = db.Suppliers.SingleOrDefault(s => s.id == value.id); } } public override bool get(int id) { SupplyOfert so = (SupplyOfert)db.SupplyOferts.SingleOrDefault(s => s.id == id).Copy(this, “Supplies”); this._Supplies […]

C#,有没有比IsWellFormedUriString更好的方法来validationURL格式?

是否有更好/更准确/更严格的方法/方法来确定URL是否格式正确? 使用: bool IsGoodUrl = Uri.IsWellFormedUriString(url, UriKind.Absolute); 不抓住一切。 如果我输入htttp://www.google.com并运行该filter,则会通过。 然后我在调用WebRequest.Create时得到一个NotSupportedException 。 这个坏url也会使它超过以下代码(这是我能找到的唯一其他filter): Uri nUrl = null; if (Uri.TryCreate(url, UriKind.Absolute, out nUrl)) { url = nUrl.ToString(); }

Stream.Length抛出NotSupportedException

我在尝试stream.Length发送到我的WCF方法的Stream对象时遇到错误。 Unhandled Exception! Error ID: 0 Error Code: Unknown Is Warning: False Type: System.NotSupportedException Stack: at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.get_Length() 你如何获得流的长度? 任何例子?