我有三个项目的解决方案:
模型项目有POCO类,这些类引用我的数据库表,如下所示:
[DataContract]
[Table("users")]
public class User
{
public User()
{
}
[DataMember]
[Key, Column("userid", TypeName = "int")]
public Int32 UserId { get; set; }
[DataMember]
[Column("username", TypeName = "varchar")]
public String UserName { get; set; }WCF服务项目引用模型,以便从如下方法返回模型:
public User ValidateUser(string organization, string userName, string password)
{
Model.Poco.User user = new Model.Poco.User();
user.UserId = 1;
user.BoardMember = true;
user.Email = "test@yahoo.com";
user.FirstTimeLogin = false;
user.IsActive = true;
user.Notes = "notes";
user.Password = "xxxxxx";
user.UserName = "user1";
return user;
}现在,我的客户端有一个WCF服务的服务引用,调用它的代码如下所示:
private void button1_Click(object sender, EventArgs e)
{
WCFService.Service1Client client = new WCFService.Service1Client();
var user = client.ValidateUser("test", "test", "test");
}它可以这样工作,如果我导航"user“变量,它拥有WCF服务中的所有对象属性,但是我想要做的是:
Model.Poco.User user = client.ValidateUser("test", "test", "test");但是如果我做了这个,我就会得到一个错误,无法从: WCFService.User转换为Model.Poco.User.。
关于如何将序列化对象转换为本机对象的任何线索。注意,我在客户端和WCF上都使用相同的对象,因为我在两个服务上都引用了*Models项目。
感谢任何事先的帮助!!
发布于 2013-06-01 02:14:27
在客户端项目中生成服务引用时,请检查在引用的程序集中重用类型的选项。否则,该工具将生成基于WSDL的新类,作为服务引用的一部分。
https://stackoverflow.com/questions/16867672
复制相似问题