【问题标题】:Fluorine TransientAttribute and Linq-to-SQL氟瞬态属性和 Linq-to-SQL
【发布时间】:2011-03-13 22:23:48
【问题描述】:

我找到了一种解决方法,但本周早些时候我在使用FluorineFx 时遇到了麻烦,我有一个由 Linq-to-SQL 生成的对象,我想通过网络将其发送到 Flash。该对象包含 Flash 不需要的属性:

[Association(Name="User_UserEntry", Storage="_UserEntries",
             ThisKey="UserID", OtherKey="UserID")]
public EntitySet<UserEntry> UserEntries { ... }

但 Flex 无法处理重新充气这种类型,抛出:

ArgumentError:错误 #2173:无法读取流中的对象。 flex.messaging.io.ArrayCollection 类没有实现 flash.utils.IExternalizable 而是别名为可外部化的类。

现在我不需要通过网络发送属性,所以我尝试了Marc Gravellissue 456624 中建议的步骤,首先使用 System.ComponentModel.DataAnnotations 中的MetadataTypeAttribute 添加属性(找到来自JasonWissue 393687的评论:

[MetadataType(typeof(UserMetadata)]
public partial class User { }

internal class UserMetadata
{
    [FluorineFx.Transient]
    public EntitySet<UserEntry> UserEntries { get; set; }
}

不幸的是,FluorineFx 似乎还不支持元数据属性(这并不奇怪,tbh,它们是相当新的)。

我最终要做的是创建一个专用的 DTO,其中包含 Flash 关心的所有属性,而没有它不关心的属性。不是最优雅的解决方案。

那么,有没有其他人遇到过这个问题,你有没有找到更优雅的方法来解决它?

【问题讨论】:

    标签: asp.net flash serialization transient fluorinefx


    【解决方案1】:

    我使用 Transient 属性,它工作正常。我确实使用来自 SVN 的最新 FluorineFx 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多