crud and ef