Настройка таблицы Projets.cs для привязки к сетке данных. Я получил ошибку.
Невозможно привести объект типа «System.Int32» к типу «System.String».
Я попробовал добавить в код конвертеры. Проблема заключается в первичном ключе и внешних ключах, определенных в модели. Дело в том, что я не хочу, чтобы они были видны в сетке данных, а вместо этого я получаю атрибуты, определенные в этих моделях, каждый по внешнему ключу, определенному в этой таблице Projet. Возможно ли это?
Я застрял на этом несколько дней, потому что вынужден использовать шаблон MVC вместо MVVM в настольном приложении. Поэтому я был бы признателен за любую помощь, поскольку это мое последнее средство.
Вот мой код Projets.cs:
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.Windows.Controls;
using Projet.Views;
namespace Projet.Models
{
public class Projets
{
[Key]
public int ID_Projet { get; set; }
[Required(ErrorMessage = "Le nom de de projet est obligatoire")]
public string Nom_Projet { get; set; }
public string Description_Projet { get; set; }
[Required]
public string Version_Projet { get; set; }
[Required]
public string Révision_Projet { get; set; }
[Required(ErrorMessage = "La version de projet est obligatoire")]
public string Statut_Projet { get; set; }
//////
public int ID_BDD { get; set; }
public BDDs BDD { get; set; }
//////
public int ID_Environnement { get; set; }
public Environnements Environnement { get; set; }
//////
public int ID_Développeur { get; set; }
public Développeurs Développeur { get; set; }
//////
public int ID_Languages { get; set; }
public Languages Language { get; set; }
//////
public ICollection
ProjetToolbox { get; set; }
//////
public ICollection ProjetSite { get; set; }
//////
public Plannings Planning { get; set; }
}
}
Мой ProjetsController.cs:
using Projet.Models;
using System.Linq;
using System.Collections.Generic;
namespace Projet.Controllers
{
public class ProjetsController
{
private readonly ProjetContext _context;
public ProjetsController()
{
_context = new ProjetContext();
}
public List
GetAllProjets()
{
return _context.Projets.ToList();
}
}
Projets.xaml.cs:
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using Projet.Controllers;
using Projet.Models;
namespace Projet.Views
{
public partial class Projets : UserControl
{
private readonly ProjetsController _controller;
public Projets()
{
InitializeComponent();
_controller = new ProjetsController();
LoadData();
}
private void LoadData()
{
try
{
List
projets = _controller.GetAllProjets();
foreach (var projet in projets)
{
// Assuming 'SomeIntegerProperty' is an integer property in your 'Projets' model
string stringValue = projet.ID_Projet.ToString();
string stringValue1 = projet.ID_BDD.ToString();
string stringValue2= projet.ID_Développeur.ToString();
string stringValue3 = projet.ID_Environnement.ToString();
string stringValue4 = projet.ID_Languages.ToString();
// Now you can use 'stringValue' as needed
}
ProjetsData.ItemsSource = projets;
}
catch (Exception ex)
{
MessageBox.Show($"An error occurred while loading data: {ex.Message}", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}
}
Projets.xaml:
Подробнее здесь: https://stackoverflow.com/questions/784 ... e-system-i
Ошибка привязки данных с сеткой данных: невозможно привести объект типа «System.Int32» к типу «System.String». ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение