Sql db og mvc
Hej,Nu har jeg været ved at gå fuldstændig grassat over en fejl, jeg har knoklet med i 3 dage. Jeg har hele tiden troet, det var en fejl i mvc men er ikke så sikker mere.
Nu har jeg fundet ud af hvad fejlen er, men ikke hvorfor, og hvordan jeg retter den.
Jeg har en EmployeeBusinessLayer klasse her henter jeg en liste af Employees fra en sql databasen. Der er flere felter Id, Navn (og den vigtige) Gender. Gender består af en DataType nvarchar(100) og ja jeg ved godt det er alt for meget - lige nu leger jeg bare.
Alt kommer fint ud, undtagen Gender. I tabellen har jeg lavet flere Employees og her har jeg så valgt nogle er Female i Gender og andre er Male.
Tager jeg og laver en select eller kører den stored procedure jeg har lavet, så viser den fint kolonnen med Gender hvor der står Male/Female nedad. Der er INGEN blanke felter efter.
Nu henter jeg så de employees ind, og pludselig, så er der blanke felter efter Female/Male teksterne.
Hvor skal jeg fejlfinde henne, for at finde ud af om hvem, det er der putter blanke felter bagefter dem (det er kun der det er galt ikke i de andre tekstfelter) og ikke mindst hvordan jeg retter det?
Her er min BusinessLayer
public IEnumerable<Employee> Employees
{
get
{
string connectionString = ConfigurationManager.ConnectionStrings["EmployeeContext"].ConnectionString;
List<Employee> employees = new List<Employee>();
using (SqlConnection con = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand("spEmployees_GetAll", con)
{
CommandType = CommandType.StoredProcedure
};
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Employee employee = new Employee
{
Id = Convert.ToInt32(rdr["EmployeeId"]),
Name = rdr["Name"].ToString(),
City = rdr["City"].ToString(),
Gender = rdr["Gender"].ToString()
};
if (!(rdr["DateOfBirth"] is DBNull))
{
employee.DateOfBirth = Convert.ToDateTime(rdr["DateOfBirth"]);
}
employees.Add(employee);
}
}
return employees;
}
}
Her er min stored procedure
USE [MyFirstMvc]
GO
/****** Object: StoredProcedure [dbo].[spEmployees_GetAll] Script Date: 09-01-2021 22:41:31 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: AS
-- Create date: 02-01-2021
-- Description: Employees
-- =============================================
ALTER PROCEDURE [dbo].[spEmployees_GetAll]
AS
BEGIN
SET NOCOUNT ON;
SELECT *
from tblEmployee
END