Как указала @Amy, сообщение об ошибке довольно простое.Это похоже на проблему со строкой подключения, так как вы, вероятно, пытаетесь использовать строку подключения SQL Server с базой данных SQL CE.Я считаю, что формат должен быть примерно таким:
Data Source=MyData.sdf;Persist Security Info=False;
См. эту ссылку для получения дополнительной информации о строках подключения SQL CE.
Edit
Если вы на самом деле используете базу данных SQL (Express или иным образом), то вы используете неверную библиотеку для подключения к ней.Вы используете SqlCeConnection
, который не поддерживает строку подключения SQL Express.Вы должны использовать SqlConnection
и SqlDataAdapter
.
Примечание: я отредактировал это без тестирования вообще
private List<TEntity> GetTable(string where = null)
{
var query = $"select * from {GetTableName()} {where}";
var dataTable = new DataTable();
using(var sqlConnection = new SqlConnection(connectionString))
{
SqlDataAdapter sqlDA = new SqlDataAdapter(query, sqlConnection);
sqlDA.Fill(dataTable);
}
var entityList = new List<TEntity>();
foreach (DataRow row in dataTable.Rows)
{
var entity = new TEntity();
foreach (DataColumn column in dataTable.Columns)
{
var value = row[column.ColumnName];
typeof(TEntity).GetProperty(column.ColumnName).SetValue(entity, value);
}
entityList.Add(entity);
}
return entityList;
}