Help with entities!

I have

local ent = ply:GetEyeTrace().Entity
local model = ent:GetModel()

Now how do i get the name of the entity, not model? (if possible)
And how do i spawn the entity by this name? (if possible, ofc)

Let’s say i look at an entity and run “esave” command, remove the entity and run “eload” command. I want the entity to spawn on the same position and fully working,
not only the model of the entity.

Get a entity’s class is done by GetClass(). You can spawn new entities with ents.Create(<class>).