相关疑难解决方法(0)

WCF,实体框架和数据合同

使用VS 2008和.NET 3.5 SP1:

我正在使用WCF允许客户端连接到使用Entity Framework读取和写入数据库条目的服务.默认情况下,从数据库自动生成的实体应用了DataContract属性.

不幸的是,暴露的许多字段并不意味着客户端消费(即 - 谁访问哪些数据等的记录),出于安全考虑,我宁愿防止它们暴露.有没有办法避免以这种方式公开Entity Framework类?

注意:这不是如何防止.NET实体中的私有属性通过服务公开为公共?.在该问题中,用户希望有选择地显示某些字段,而我希望该实体根本不作为DataContract公开.

提前致谢.

wcf entity-framework datacontract

7
推荐指数
1
解决办法
1万
查看次数

WPF WCF Prism和MVVM - 公开实体的正确方法

我们将很快开发一个大型企业桌面应用程序,我花了一些时间研究WPF + PRISM + MVVM方法,我已经很好地掌握了大多数概念,并且非常喜欢它提供的模块化.

我遇到问题的方法是如何构建服务层以获取数据,特别是当模块引入该服务时,依赖模块可以使用它.

我想在应用程序服务中抽象我的WCF数据服务,并用于ServiceLocator从我的视图模型中解析具体实例,但是我很难弄清楚它应该如何挂起,主要是因为我的entites是WCF服务的一部分.

例如

Module1 包含WCF服务+具体应用程序服务(ISearchService)+ WCF服务生成的实体(模型)

Module1.Infastructure - 包含应用程序服务的以下接口

public interface ISearchService
{
      ObservableCollection<Person> Search(string search);
}
Run Code Online (Sandbox Code Playgroud)

这将在UnityContainer中注册,以便任何其他模块可以获得模块内嵌的具体实现.

我的问题是Entities(Person)是在模块本身(在WCF服务中)中定义的,因此引入服务然后期望任何其他模块能够使用它意味着他们需要引用模块本身而不仅仅是模块infastructure除非我将服务撤出到另一个程序集中.

我应该以这种方式暴露我的EF模型自动生成的entites吗?

有没有人有更好的解决方案?

.net wpf prism wcf-data-services

7
推荐指数
1
解决办法
1872
查看次数