2017-07-28 31 views
0

我不明白關於WCF休息和代碼優先。如果我有一張桌子病人獨自一人。我可以沒有問題地列出所有患者的列表,但是如果我有用戶表並且患者表上有一個外鍵。我無法獲得患者列表。 我希望我很清楚。你會發現下面 我的服務我的代碼 IserviceWCF其餘代碼先不能返回一個假名密鑰表中的列表

namespace HandyifeService 
{ 
    [ServiceContract] 
    public interface IHandyServce 
     { 
    [OperationContract] 
    [WebInvoke(Method = "GET", 
    RequestFormat = WebMessageFormat.Json, 
    ResponseFormat = WebMessageFormat.Json, 
    BodyStyle = WebMessageBodyStyle.Bare, 
    UriTemplate = "Test")] 
    List<Patient> GetPatientList(); 
    } 

} 

服務

public class HandyService : IHandyServce 
{ 
    public List<Patient> GetPatientList() 
    { 
     List<Patient> listpatients = (from pat in mobile.Patient select pat).ToList(); 
     return listpatients; 
    } 
} 

的Code First 的DataModel

public partial class Model1 : DbContext 
{ 
    public Model1() 
     : base("name=Model1") 
    { 
    } 

    public virtual DbSet<Patient> Patient { get; set; } 
    public virtual DbSet<Utilisateur> Utilisateur { get; set; } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Entity<Patient>() 
      .Property(e => e.pat_nom) 
      .IsUnicode(false); 

     modelBuilder.Entity<Patient>() 
      .Property(e => e.pat_prenom) 
      .IsUnicode(false); 

     modelBuilder.Entity<Patient>() 
      .Property(e => e.pat_adresse) 
      .IsUnicode(false); 

     modelBuilder.Entity<Patient>() 
      .Property(e => e.pat_ville) 
      .IsUnicode(false); 

     modelBuilder.Entity<Patient>() 
      .Property(e => e.pat_pays) 
      .IsUnicode(false); 

     modelBuilder.Entity<Patient>() 
      .Property(e => e.pat_Natel) 
      .IsUnicode(false); 

     modelBuilder.Entity<Patient>() 
      .Property(e => e.pat_Teleèhone) 
      .IsUnicode(false); 

     modelBuilder.Entity<Patient>() 
      .Property(e => e.pat_nomMere) 
      .IsUnicode(false); 

     modelBuilder.Entity<Patient>() 
      .Property(e => e.pat_prenomMere) 
      .IsUnicode(false); 

     modelBuilder.Entity<Patient>() 
      .Property(e => e.pat_nomPere) 
      .IsUnicode(false); 

     modelBuilder.Entity<Patient>() 
      .Property(e => e.pat_prenomPere) 
      .IsUnicode(false); 

     modelBuilder.Entity<Utilisateur>() 
      .Property(e => e.uti_titre) 
      .IsUnicode(false); 

     modelBuilder.Entity<Utilisateur>() 
      .Property(e => e.uti_nom) 
      .IsUnicode(false); 

     modelBuilder.Entity<Utilisateur>() 
      .Property(e => e.uti_prenom) 
      .IsUnicode(false); 

     modelBuilder.Entity<Utilisateur>() 
      .Property(e => e.uti_login) 
      .IsUnicode(false); 

     modelBuilder.Entity<Utilisateur>() 
      .Property(e => e.uti_password) 
      .IsUnicode(false); 

     modelBuilder.Entity<Utilisateur>() 
      .HasMany(e => e.Patient) 
      .WithOptional(e => e.Utilisateur) 
      .HasForeignKey(e => e.pat_id_utilisateur); 
    } 
} 

患者

[Table("Patient")] 
public partial class Patient 
{ 
    [Key] 
    public Guid id_patient { get; set; } 

    [StringLength(255)] 
    public string pat_nom { get; set; } 

    [StringLength(255)] 
    public string pat_prenom { get; set; } 

    public DateTime? pat_datenaissance { get; set; } 

    [StringLength(255)] 
    public string pat_adresse { get; set; } 

    public int? pat_npa { get; set; } 

    [StringLength(255)] 
    public string pat_ville { get; set; } 

    [StringLength(255)] 
    public string pat_pays { get; set; } 

    [StringLength(255)] 
    public string pat_Natel { get; set; } 

    [StringLength(255)] 
    public string pat_Teleèhone { get; set; } 

    [StringLength(255)] 
    public string pat_nomMere { get; set; } 

    [StringLength(255)] 
    public string pat_prenomMere { get; set; } 

    [StringLength(255)] 
    public string pat_nomPere { get; set; } 

    [StringLength(255)] 
    public string pat_prenomPere { get; set; } 

    public DateTime pat_creation { get; set; } 

    public DateTime pat_update { get; set; } 

    public Guid? pat_id_cabinet { get; set; } 

    public Guid? pat_id_utilisateur { get; set; } 

    public virtual Utilisateur Utilisateur { get; set; } 
} 

用戶

[Table("Utilisateur")] 
public partial class Utilisateur 
{ 
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] 
    public Utilisateur() 
    { 
     Patient = new HashSet<Patient>(); 
    } 

    [Key] 
    public Guid id_utilisateur { get; set; } 

    [StringLength(15)] 
    public string uti_titre { get; set; } 

    [StringLength(100)] 
    public string uti_nom { get; set; } 

    [StringLength(100)] 
    public string uti_prenom { get; set; } 

    [StringLength(50)] 
    public string uti_login { get; set; } 

    [StringLength(200)] 
    public string uti_password { get; set; } 

    public Guid? uti_Id_cabinet { get; set; } 

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] 
    public virtual ICollection<Patient> Patient { get; set; } 
} 

有人可以向我解釋什麼問題是? 預先感謝 問候

+0

你有什麼錯誤嗎?究竟是什麼問題? –

+0

我使用郵差來測試我的休息服務。郵差發送我無法得到任何迴應。這就像我的休息服務無法回答,因爲其他表。沒有表格之間的鏈接,它正在工作。 – Ludovic

回答

0

我想你不能得到你的外國表「病人」

試試這個在您的類來設置基準然後嘗試把這個「病人」表的數據。

[ForeignKey("Your Foreign Key")] 
public virtual Patient patient { get; set; } 
+0

謝謝你的回答,但它不起作用:( – Ludovic

+0

使用這個參考,我認爲它會幫助你。 https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/使用數據 - 合同 – PixelDev

相關問題