From d789bb11cd7364f01c8e0c717046bbdf5256f355 Mon Sep 17 00:00:00 2001
From: pumamood <maurizio@dynant.it>
Date: Thu, 13 Mar 2025 00:53:03 +0100
Subject: [PATCH] fix issue #1188

---
 .../Scaffolding/Internal/FbDatabaseModelFactory.cs    | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/FirebirdSql.EntityFrameworkCore.Firebird/Scaffolding/Internal/FbDatabaseModelFactory.cs b/src/FirebirdSql.EntityFrameworkCore.Firebird/Scaffolding/Internal/FbDatabaseModelFactory.cs
index 7bc317d1..1399daa8 100644
--- a/src/FirebirdSql.EntityFrameworkCore.Firebird/Scaffolding/Internal/FbDatabaseModelFactory.cs
+++ b/src/FirebirdSql.EntityFrameworkCore.Firebird/Scaffolding/Internal/FbDatabaseModelFactory.cs
@@ -343,11 +343,18 @@ private void GetIndexes(DbConnection connection, IReadOnlyList<DatabaseTable> ta
 							Name = reader.GetString(0).Trim(),
 							IsUnique = reader.GetBoolean(1),
 						};
-
+						bool skipIdx = false;
 						foreach (var column in reader.GetString(3).Split(','))
 						{
-							index.Columns.Add(table.Columns.Single(y => y.Name == column.Trim()));
+							var col = table.Columns.SingleOrDefault(y => y.Name == column.Trim());
+							if (col == null)
+							{
+								skipIdx = true;
+								break;
+							}
+							index.Columns.Add(col);
 						}
+						if(skipIdx) continue;
 
 						if (reader.GetBoolean(2))
 						{