none
Tek bir klonu Secme - db.Employee.ToList(); RRS feed

  • Soru

  • Arkadaslar;

    db.Employee.ToList(); bütün employe listesini  listeliyor sadece bir klonu sıralatmak nasıl oluyor örnegin Employee icinde Address var

        var y=    db.Employee.Where(x => x.Address==x.Address);  böyle yapıyorum olmuyor


    2 Ağustos 2015 Pazar 17:09

Yanıtlar

  • Yazdığınız kodun mantık hatası var. Where içine bir koşul yazılır ve buna uygun olan verileri getirir ki, karşılaştırma yapabilmesi için dışarıdan bir parametre alması lazım. Siz aynı iki alanı birbiriyle kıyaslıyorsunuz evet program derlenir çünkü yazımsal olarak bir hata yok ama mantıksal bir hata var. Şu kod işinizi görecektir.

    db.Employee.Select(x => x.Address).ToList();

    2 Ağustos 2015 Pazar 17:39

Tüm Yanıtlar

  • Yazdığınız kodun mantık hatası var. Where içine bir koşul yazılır ve buna uygun olan verileri getirir ki, karşılaştırma yapabilmesi için dışarıdan bir parametre alması lazım. Siz aynı iki alanı birbiriyle kıyaslıyorsunuz evet program derlenir çünkü yazımsal olarak bir hata yok ama mantıksal bir hata var. Şu kod işinizi görecektir.

    db.Employee.Select(x => x.Address).ToList();

    2 Ağustos 2015 Pazar 17:39
  • Yazdığınız kodun mantık hatası var. Where içine bir koşul yazılır ve buna uygun olan verileri getirir ki, karşılaştırma yapabilmesi için dışarıdan bir parametre alması lazım. Siz aynı iki alanı birbiriyle kıyaslıyorsunuz evet program derlenir çünkü yazımsal olarak bir hata yok ama mantıksal bir hata var. Şu kod işinizi görecektir.

    db.Employee.Select(x => x.Address).ToList();

    Böyle bir hata verdi Onay Bey;

    An exception of type 'System.InvalidOperationException' occurred in EntityFramework.dll but was not handled in user code

    Additional information: The model backing the 'EmployeeContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269).

    ---------------------------------------------------------------

    Controller:

                       

     EmployeeContext db = new EmployeeContext();
            public ActionResult Index()
            {


                return View(db.Employee.Select(x=>x.Address).ToList());
            }

    Model:

    public class Employee
        {
            [Key]
            public int Id { get; set; }
            [DisplayName("Employees Name")]
            [Required(ErrorMessage="Gerekli alan")]
            [StringLength(35,MinimumLength=4)]
            public string Name { get; set; }

            [Required(ErrorMessage="Adres Alanı gerekli")]
            [StringLength(300,MinimumLength=30)]
            public string Address { get; set; }

            [Required(ErrorMessage="Lütfen boş gecmeyiniz")]
            [Range(3000,1000000,ErrorMessage="Bu aralıkta olmalı")]
            public decimal Salary { get; set; }

            [Required(ErrorMessage="Email alanı boş gecilemez")]
            [DataType(DataType.EmailAddress)]
            [MaxLength(50)]
            [RegularExpression(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$",ErrorMessage="HATALI ADRESS")]
            public string Email { get; set; }
        }

    View :

    <table class="table">
        <tr>
           
            <th>
                @Html.DisplayNameFor(model => model.Address)
            </th>
        
         
            <th></th>
        </tr>

    @foreach (var item in Model) {
        <tr>
      
            <td>
                @Html.DisplayFor(modelItem => item.Address)
            </td>
         
          
            <td>
                @Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
                @Html.ActionLink("Details", "Details", new { id=item.Id }) |
                @Html.ActionLink("Delete", "Delete", new { id=item.Id })
            </td>
        </tr>
    }

    </table>


    2 Ağustos 2015 Pazar 20:53
  • Sadece şu dediğimiz değişikliği yapıp bu hata çıktıysa o metodu yanlış bir yerlerde yazmışsın demektir. Update-database yaptınız değil mi ? İzin vermiyorsa buna update-database -force yazmanız gerekiyor. -Force ayrı yazılacak. Olmadıysa yine ve veri tabanınızda veri yoksa silin tekrar oluşturun.
    2 Ağustos 2015 Pazar 21:25
  • Sadece şu dediğimiz değişikliği yapıp bu hata çıktıysa o metodu yanlış bir yerlerde yazmışsın demektir. Update-database yaptınız değil mi ? İzin vermiyorsa buna update-database -force yazmanız gerekiyor. -Force ayrı yazılacak. Olmadıysa yine ve veri tabanınızda veri yoksa silin tekrar oluşturun.

    Sorunu hallettim 

    db.Employee.Select(x => x.Address).ToList(); buna bir klon daha secim nasıl yaptirabilirim örnegin Employee

    icinde birde Name alanı var bunuda sectirmek istiyorum ?

    3 Ağustos 2015 Pazartesi 12:45
  • db.Employee.Select(x => new 
    {
     Adresim= x.Address,
     Caddem=x.Avenue,
     ...
    }
    ).ToList(); 


    Mail Blog Web Site

    3 Ağustos 2015 Pazartesi 13:08