The problem is the way Photos and similar programmes (iMovie, Garageband etc) are configured are for a single user with an integrated database. As such if you try to have more than one user accessing it you are liable to corruption issues. By putting the photo library on a NAS server you effectively provide multi access to a single user database, and to compound the issue the way that NAS disks are formatted is different from Apple creating further problems increasing the likelihood of file corruption. Note this is not a problem for iTunes because it manages its database in a different way in that the content is not bound into the library. This is why WD MyCloud and other NAS devices can bundle their products with an iTunes server and as such are not liable to corruption issues.
The solution is to create a sparse image which is a way of partitioning the disk and formatting it, and then placing your photo library on to this. This enables the Mac to treat it as a local drive as opposed to a NAS, and will provide reasonable access times (at least it does with my library of some 75k images and 420 videos). It is using the same methodology the NAS drive uses to handle Time Machine back ups.
So what do you need to do?
Go to Applications, find the Utilities folder and within that open Disk Utility.
In the Apple menu bar where it says Disk Utility go to File and select Blank Image
Then where it says Save As make sure the small arrow is pointing up so that you can see the directories of where things are.
Now select where you want your image file to be saved on your NAS (I saved it in the Public folder) give it a name (I called it Photos), state the size you want the image file to be (I gave mine 500GB) and make sure it is Formatted for Mac OS Extended Journal. Hit Save and you should now have a directory set up called Photos.sparseimage.
(Note the first time I did this Disk Utility would not allow me to save directly to WDMyCloud and as I had limited file space on my Macmini (which is why I wanted to move my photo library in the first place) I created a small sparse image, dragged it over to the drive and then deleted it. For some reason the next time I opened Disk Utility it allowed me to create a sparse image directly on to my WDMyCloud using my NAS server capacity so I could create the size I wanted.)
If you now double click on the Sparse Image you created it will create a directory called Photos (or whatever name you gave it) on your desktop.
Once you have the directory in place you can then copy your Photos Library on to it. Go to your Home directory in Finder, find the folder called Pictures and within that you will find a file called Photos Library.photoslibrary. Simply select this and drag it onto your newly created Photos directory. Depending on the size of your library it will take time to copy across - it took about 30 mins for me to copy across a 100Gb file, but of course times will be dependant on your set up (I am directly connected via ethernet to my NAS).
Once the copying is complete open the Photos application holding the Alt/Option key and, if it is showing, select the library in your Photos directory, if not choose Other Library and browse for it that way. Next time you open Photos it will remember the last library you opened.
One thing you will need to remember is always have the directory open before you open the Photos Application otherwise it won’t be able to see the library.
One added refinement if you go to the Photos preferences and select your new library as the System Photo Library then you will also be able to use it with Cloud services if you use these.
Additionally if you use Photos reasonably frequently and therefore always want access to the directory you can get the directory to open automatically on Log in. Simply go to System Preferences/Users & Groups, then select your profile and click on LoginItems, then drag the folder in which your Sparse Image is contained on to this and then your sparse image and then close the window. Next time you log in, the directory will automatically open without your having to select it.
WORD OF CAUTION: I have only been using this solution for 48 hours, but have encountered no issues since adopting it. I found this solution from LaPastenague who posted elsewhere and another user has used this solution for 3 years without reporting issues.
NOTE: This solution simply sets up your Photos so that you can work with the application with the storage on your NAS Drive. Because of the way it has been set up only one user will be able to use the library at a time. Anyone who tries to access it when someone else is using it will receive a message that the directory is locked. This is why it will not result in corruption of the library. If someone else does want to use the library you will have to eject the directory from your computer to give them access. I have put my drive on a public folder so that my wife can load photos independently of me, however if this is not an issue or you want separate libraries for different users then you can set it up under private folders for each user.
Because of the way this has been set up it will not allow other users to share the photos from your NAS drive. Initially I tried to overcome this by uploading the Photos Library onto the Shared Pictures folder on my NAS drive on the basis that users can use the NAS software to view the library. However the WD software is not that smart and the result was horrendous as it created images from all the different ways that Photos organises the library so I had face images, deleted images, thumbnails and a host of others to get around and then no organisation in the photos I wanted to view. As such I have settled on the fact that I need to export the images I want to share into folders, so for example I have created under Shared Pictures a folder called Family Holidays and within this sub folders for each holiday to which I have exported the photos in question. Even this is not ideal as WDCloud sorts according to when the photo was exported as opposed to the date the photo was taken, so you need to think about how you want the photos to appear when being viewed on other devices by the WD software and adopt a naming convention that achieves this. It is laborious but at least then you can allow others to view the photos without risks to the main library or them messing around with the source images. They can always download any of the images if they want to store them locally or edit them.
ADDITIONAL NOTE OF CAUTION: you should now be in a position to delete the Photo Library off your computer freeing up valuable hard space. Note however as soon as you do this that if you use Time Machine your photos will no longer be backed up from your Mac. As such you need to have another disk with which to back up your NAS server. This is the case even if like me you have a NAS with multiple drives in a Raid configuration as whilst that protects you from a disk failure it does not protect you from files being corrupted as they will be mirrored across. I have a WD MyCloud DL2100 with x2 4Tb drives and I think I will buy a third hard drive that I will swap in on a weekly basis against this problem (it also means I will have off site storage capability of my valuable images in case of fire or theft) but also will look to protect the info on a more regular basis using Time Machine to a different device.
I hope this is helpful, this took days of research before I found a solution that worked for me, at one point I had thought that my NAS server was a wasted investment if I was unable to get my digital media files onto it, however I will now be creating separate directories to work with iMovie so that I can start to digitise years of family video tape!
I am not technical so apologies if I have not got the right naming conventions, but hopefully anyone else with a NAS will be saved having to trawl the internet to come to a solution of how to work with Photos, iMovie and similar applications with their NAS server.